|
Java jest obiektowym językiem projektowania wprowadzonym w
1995 roku przez Sun Microsystems. Za pomocą tego języka opierającego
się na C++ można tworzyć aplikacje niezależne od platformy sprzętowej
i systemowej. Program napisany w Javie może być wykonywany bez
powtórnej kompilacji zarówno na komputerze PC pracującym pod
kontrolą Windows, na Macintoshu, jak również na maszynie uniksowej.
Hasło "napisz raz, uruchamiaj wszędzie" prawdziwe jest dla każdej
maszyny, w której zainstalowano specjalne oprogramowanie, tzw.
wirtualną maszynę Javy (JVM, czyli Java Virtual Machine), do
której należy zadanie stworzenia w danym systemie środowiska
dla programów Javy.
Konstrukcja języka zbliżona jest do C++, z pominięciem jednak
tych jego właściwości, które bywały przyczyną najczęściej popełnianych
błędów oraz pomniejszały wygodę programowania. Kod źródłowy
programu napisanego w Javie (zapisany w pliku z rozszerzeniem
.java) kompilowany jest do formatu pośredniego zwanego kodem
bajtowym (rozszerzenie *.class) stanowiącym podstawę
wykonania programu przez interpreter Javy. Kod bajtowy może
być także tłumaczony bezpośrednio na instrukcje języka maszynowego
odpowiedniego procesora przez program JIT (Just-In-Time Compiler).
Zastosowanie
Aplety Javy umożliwiaja uruchamianie z poziomu przeglądarki
interaktywnych prezentacji multimedialnych, gier lub nawet programów
obliczeniowych.
Poza klasycznymi apletami Javy wykonywanymi w obrębie przeglądarki
internetowej, czyli po stronie klienta istnieją jeszcze tzw.
serwlety przeznaczone do wykonywania na stronach
serwera.
Bezpieczeństwo
Aplety Javy są bezpieczne w użyciu, nie mają bowiem
prawa dostępu do plików znajdujących się na dysku użytkownika,
zachowując przy tym możliwość wymiany danych z serwerem, z którego
zostały ściągnięte.
Każdy proces uruchamiania apletu jest wykonywany w obszarze
odizolowanym, w tzw. piaskownicy (sandbox). Aplety mają tu możliwość
działania do woli, ale nie mają szansy wyrządzić żadnych szkód.
Z kolei Class Loader chroni przed ewentualnymi manipulacjami
ze strony kodu Javy w samym sandboksie. Mało tego, jeśli w kodzie
Javy pojawią się niedozwolone polecenia, to zostaną wyłapane
przez następny mechanizm zabezpieczający - Byte Code Verifier.
Tym samym, przynajmniej teoretycznie, nie ma możliwości na odczytywanie
i zapisywanie czegokolwiek na dysku przez aplet Javy.
Wady
Aplety Javy posiadają jednak pewną wadę, witryny z apletami
Javy ładują się znacznie dłużej.
Java a ActiveX
Zdobywający coraz większą popularność język Java nie musi być
wykonywany pod kontrolą tylko systemu Windows. Równie dobrze
działa w innych systemach operacyjnych, na przykład w Uniksie
czy MacOS. Dlatego Microsoft zdecydował się na wprowadzenie
konkurencyjnego rozwiązania - tak zwanej technologii ActiveX,
która ma spełniać podobne funkcje jak Java, jednak - w przeciwieństwie
do niej - może poprawnie działać jedynie w Windows. W tym przypadku
nie jest bowiem uruchamiany niezależny od platformy sprzętowej
kod, lecz standardowy kod maszynowy, działający poprawnie tylko
w Windows.
Mimo podobieństwa nazw, Java nie powinna być mylona z JavaScript
- o wiele prostszym (zarówno jeśli chodzi o naukę jak i możliwości)
językiem interpretowanym.
|