Przemysław Wionczyk
JAVA
Podstawowe informacje
Podstawowe informacje
o programowaniu
o programowaniu
w języku JAVA
w języku JAVA
1 / 10
Przemysław Wionczyk
JAVA
Geneza
Język Java stworzono, aby zastąpił C++. Miał być od niego
prostszy, bezpieczniejszy i bardziej niezawodny. W tym celu język
zawiera obsługę błędów której nie można ominąć, co znacznie zwiększa
bezpieczeństwo i niezawodność, ale prostota jest bardzo dyskusyjna.
Drugą ideą była możliwość napisania jednego programu, który
można uruchamiać na różnych platformach bez zmiany kodu, a nawet
bez ponownej kompilacji. Uzyskano to poprzez kompilację programów
do poziomu byte-code i uruchamianie na maszynach wirtualnych.
2 / 10
Przemysław Wionczyk
JAVA
Maszyna wirtualna
Jest to specjalny program, który tworzy środowisko
uruchomieniowe, dla wszelkich programów Java, które chcemy
uruchomić na naszym systemie operacyjnym. Maszyna wirtualna
przejmuje wszystkie odwołania uruchamianego programu bezpośrednio
do sprzętu lub systemu operacyjnego i zapewnia ich obsługę. Dzięki
temu program uruchomiony na maszynie wirtualnej "myśli", że działa na
rzeczywistym sprzęcie.
3 / 10
Przemysław Wionczyk
JAVA
Maszyna wirtualna
Maszyna wirtualna musi być dostosowana do systemu
operacyjnego na którym jest instalowana, ale środowisko jakie tworzy
ona dla programów na niej uruchamianych jest identyczne na różnych
platformach i różnych systemach operacyjnych, dlatego programy które
piszemy i kompilujemy do byte-code mogą być uruchamiane na
maszynie wirtualnej bez potrzeby troszczenia się o to na jakim
fizycznym komputerze są uruchamiane.
4 / 10
Przemysław Wionczyk
JAVA
Byte-code
W językach takich jak Pascal czy C++ kompilujemy kod źródłowy
do postaci programów uruchamialnych zapisanych w kodzie
maszynowym odpowiednim dla danego systemu operacyjnego. W języku
Java każdy plik z kodem źródłowym (zapisujemy je w plikach
z rozszerzeniem java (np. test.java) jest kompilowany do pośredniego
kodu bajtowego i zapisywany w pliku z rozszerzeniem class (np.
test.class).
5 / 10
Przemysław Wionczyk
JAVA
JRE a JDK
Środowisko Javy instalujemy w jednej z dwóch wersji:
•
Java Runtime Environment (JRE) zawiera kod bajtowy wszystkich
klas standardowych i wirtualną maszynę do ich uruchamiania.
•
Java Development Kit (JDK) dodatkowo udostępnia źródła tych
klas oraz takie narzędzia jak kompilator, paker czy debugger.
Podział ten wprowadzono dlatego, że użytkownik Javy do uruchamiania
programów potrzebuje tylko JRE, natomiast do programowania
działających aplikacji potrzeba już JDK.
6 / 10
Przemysław Wionczyk
JAVA
Podział języka JAVA
W języku Java możemy pisać aplikacje na proste komórki,
komputery klasy PC, jak i duże maszyny mainframe. Docelowe maszyny
różnią się zatem znacznie możliwościami. Dodatkowo nie każdy
programista potrzebuje wszystkich zaawansowanych narzędzi języka.
Wprowadzono zatem podział języka na kilka implementacji:
•
Java Platform, Micro Edition (Java ME)
•
Java Platform, Standard Edition (Java SE)
•
Java Platform, Enterprise Edition (Java EE)
7 / 10
Przemysław Wionczyk
JAVA
Java SE
Specyfikacja opracowana przez firmę Sun Microsystems opisująca
podstawową wersję platformy Java. Pozwala tworzyć i uruchamiać
aplikacje napisane w języku Java na komputerach stacjonarnych
i serwerach. Java SE zawiera klasy pozwalające tworzyć aplikacje
WWW. Stanowi podstawę dla Java EE.
8 / 10
Przemysław Wionczyk
JAVA
Java ME
Platforma Java ME została zaprojektowana z myślą o urządzeniach
o bardzo ograniczonych zasobach, takich jak telefony komórkowe lub
palmtopy. Ze względu na ograniczenia techniczne takich urządzeń, tj.
wolniejsze procesory, mniejszą pamięć, Java ME posiada swój własny,
okrojony w stosunku do Java SE zbiór klas zwanych konfiguracją. (ang.
configuration). Środowisko Java ME posiada także w zależności od
wybranej konfiguracji swoje własne maszyny wirtualne.
9 / 10
Przemysław Wionczyk
JAVA
Java EE
Java EE nazywana jest też Javą Korporacyjną. Definiuje ona
standard tworzenia aplikacji w architekturze wielowarstwowej przy
wykorzystaniu serwerów aplikacyjnych obsługujących Java Enterprise.
Wykorzystuje ona język Java jako podstawę programowania logiki
aplikacji oraz definiuje środowisko wykonania i model aplikacji. Stosuje
technologię EJB (Enterprise Java Beans). J2EE jest podzielona na
logiczne części, izoluje warstwę logiki aplikacji od środowiska
wykonania.
10 / 10