java components java platform
Ten samouczek zawiera szczegółowy opis języka Java jako platformy i jej składników, tj. JRE, JDK, wirtualna maszyna Java oraz różnicę między JRE a JDK:
Java została opisana jako język programowania, a także platforma. W naszym poradniku wprowadzającym omówiliśmy już, że platforma to środowisko oprogramowania, za pomocą którego możemy uruchamiać programy lub aplikacje.
W tym samouczku omówimy Javę jako platformę. Omówimy również komponenty platformy Java i zobaczymy, jak działają.
=> Przeczytaj serię szkoleń Easy Java.
Czego się nauczysz:
Platforma Java
Platforma Java to oprogramowanie lub zbiór programów, które pomagają nam wykonywać aplikacje napisane w języku programowania Java. Platforma Java składa się z kompilatora języka Java, zestawu bibliotek i silnika wykonawczego.
najlepsze zdalne oprogramowanie szpiegujące dla telefonów komórkowych
Platforma Java jest niezależna od konkretnego systemu operacyjnego, co sprawia, że język programowania Java jest językiem niezależnym od platformy.
Platforma Java składa się z następujących komponentów.
- Język Java
- Zestaw Java Development Kit (JDK)
- Środowisko wykonawcze Java (JRE)
- Kompilator Java
- Wirtualna maszyna Java (JVM)
Poza powyższymi głównymi komponentami platforma Java zawiera także garbage collectors, zestaw bibliotek oraz inne dodatkowe komponenty i narzędzia, które są wymagane do sprawnego uruchamiania aplikacji Java.
Rozważmy poniższy diagram, który przedstawia relacje między wszystkimi tymi komponentami.
Z powyższego diagramu możemy wywnioskować, że
JRE = JVM + klasy biblioteczne.
JDK = JRE + narzędzia programistyczne.
Zanim przejdziemy do każdego z komponentów, przyjrzyjmy się najpierw przepływowi wykonywania programu w języku Java.
Poniższy diagram przedstawia przepływ programu w języku Java.
Tak więc powyższy diagram przedstawia prosty przebieg wykonywania programu Java. Program napisany w języku Java jest kompilowany przez kompilator Java (javac). W przeciwieństwie do innych kompilatorów języków, które generują kod maszynowy po kompilacji, kompilator Javac generuje plik klasy składający się z kodu bajtowego.
Teraz ten plik klasy jest przekazywany do wirtualnej maszyny języka Java (JVM), która tłumaczy plik klasy na plik obiektowy zawierający kod zależny od maszyny. Następnie ten kod jest wykonywany przez maszynę.
Omówmy szczegółowo każdy z tych elementów.
Język Java
Java to język programowania używany na platformie Java. Java to zorientowany obiektowo język programowania, którego składnia wywodzi się z C, a funkcje OOPS pochodzą z C ++. Ma swoją składnię, zasady, format i paradygmat programowania.
W tej serii szczegółowo poznamy wszystkie główne koncepcje języka Java i programowania.
Kompilator Java
Jest to kompilator języka programowania Java, a jego funkcją jest generowanie plików klas Java z kodu źródłowego Java. Plik klasy Java zawiera niezależny od platformy kod bajtowy języka Java.
Po wygenerowaniu plików klas maszyna JVM ładuje te pliki klas i albo interpretuje kod bajtowy, albo kompiluje go do kodu maszynowego przy użyciu kompilatora Just-in-Time (JIT).
Wirtualna maszyna Java (JVM)
JVM to centrum języka programowania Java i platformy Java. JVM konwertuje kod bajtowy na kod specyficzny dla maszyny (znany również jako kod obiektowy w innych językach programistów).
JVM zapewnia funkcjonalność czyszczenia pamięci, zarządzania pamięcią, bezpieczeństwa itp. JVM jest niezależna od platformy i możemy dostosować jej funkcjonalność za pomocą wirtualnego interfejsu, który zapewnia, który nie jest zależny od komputera i jest również niezależny od systemu operacyjnego.
Ta niezależność od platformy JVM umożliwia nam tworzenie programów Java na jednej maszynie i wykonywanie ich na innej maszynie (WORA - Napisz - Raz - Uruchom - Gdziekolwiek).
Poniższy diagram ilustruje różne części maszyny JVM.
JVM znajduje się w pamięci RAM. Gdy program Java jest konwertowany na plik klasy przez kompilator języka Java, musi zostać wykonany.
W celu wykonania plik klasy jest przenoszony do pamięci RAM przez moduł ładujący klasy. Tutaj kod BYTE jest weryfikowany pod kątem wszelkich problemów związanych z bezpieczeństwem. Classloader jest również odpowiedzialny za ładowanie, linkowanie i inicjalizację programu do wykonania.
Pamięć JVM pokazana na powyższym schemacie zawiera różne komponenty, jak pokazano, i pomagają one w wykonaniu programu, utrzymując rejestry komputera PC, które zawierają bieżące instrukcje do wykonania, stertę, która przechowuje zmienne, tablice itp.
Pamięć JVM zawiera również obszar metod i stos metod natywnych, który zawiera odpowiednio kod metody i specyfikację języka natywnego. Stos JVM przechowuje instancję programu lub bieżący wątek. Jeśli istnieje więcej niż jeden wątek, każdy wątek będzie miał swój stos JVM.
Po poprawnym połączeniu programu jest on przekazywany do silnika wykonawczego. Silnik wykonawczy współpracuje z natywnym interfejsem metod i natywnymi bibliotekami metod. Interfejs metody natywnej to struktura programistyczna, która umożliwia kodowi Java wywoływanie bibliotek i aplikacji natywnych, które są częścią natywnych bibliotek metod.
Następnie silnik wykonawczy konwertuje kod bajtowy na natywny kod maszynowy przy użyciu kompilatora just-in-time (JIT). Następnie program jest wykonywany przez maszynę.
Uwaga: JIT lub kompilator just-in-time jest częścią wirtualnej maszyny języka Java (JVM). Interpretuje część kodu bajtowego, która ma podobną funkcjonalność w tym samym czasie. Innymi słowy, konwertuje kod bajtowy na natywny kod maszynowy na tym samym poziomie programowania. To jest powód, dla którego Java jest kompilowana jako język interpretowany.
Środowisko wykonawcze Java (JRE)
JRE, jak sama nazwa wskazuje, to środowisko wykonawcze wymagane do wykonywania programów i aplikacji Java. Środowisko JRE składa się z wirtualnej maszyny języka Java (JVM) oraz plików binarnych i innych klas umożliwiających pomyślne wykonywanie programów w języku Java.
JRE jest podzbiorem JDK i nie zawiera żadnych narzędzi programistycznych, takich jak kompilator Java, debugger itp. Dlatego jeśli aplikacje Java są tworzone gdzie indziej i musisz je uruchamiać tylko na swoim komputerze, możesz zainstalować JRE oddzielnie. W tym celu musisz zainstalować JDK.
Potrzebujesz środowiska JRE zainstalowanego na komputerze, ponieważ jest to minimalne wymaganie do uruchamiania programów Java na komputerze.
Środowisko JRE zawiera następujące komponenty.
- Biblioteki kodu, ustawienia właściwości i pliki zasobów : Obejmuje to pliki takie jak charsets.jar, rt.jar itp.
- Pliki DLL : Używany przez maszynę wirtualną klienta Java hotspot i maszynę wirtualną serwera.
- Pliki rozszerzeń Java : Na przykład, pliki powiązane ze specyfikacją ustawień regionalnych, takie jak localedata.jar
- Akta wymagane do zarządzania bezpieczeństwem. Na przykład, java.policy, java.security
- Klasy obsługi apletów.
- Pliki czcionek True Type : Zwykle wymagane przez platformę.
Aby uruchomić dowolną aplikację / program napisany w Javie, potrzebujesz JRE zainstalowanego w systemie. Środowisko JRE jest zależne od platformy. Oznacza to, że musisz pobrać i zainstalować środowisko JRE zgodne z Twoim systemem operacyjnym i architekturą.
Zestaw Java Development Kit (JDK)
Jest to podstawowy składnik każdego środowiska Java. JDK zawiera środowisko JRE (Java Runtime Environment) wraz z kompilatorem Java, debugerem Java i innymi podstawowymi klasami. JDK jest używany do programowania w języku Java, ponieważ zapewnia wszystkie pliki wykonywalne i pliki binarne, a także narzędzia wymagane do kompilowania i debugowania programu Java.
JDK to oprogramowanie specyficzne dla platformy, dlatego będziemy mieć osobne instalatory JDK dla każdego systemu operacyjnego.
JDK zawiera następujące komponenty:
- jConsole : To jest konsola monitorowania i zarządzania Java.
- słoik : To jest archiwizator. To narzędzie służy do pakowania powiązanych bibliotek klas w jeden plik Jar, a także do zarządzania plikami Jar.
- jarSigner : To narzędzie służy do podpisywania i weryfikacji słoików.
- javap: Jest to narzędzie do dezasemblera plików klas.
- javaws : Program uruchamiający Java Web Start dla aplikacji JNLP.
- jhat : Narzędzie do analizy sterty Java.
- jrunscript : Powłoka skryptu wiersza poleceń Java.
- jstack : Narzędzie używane do drukowania śladów stosu dla wątków Java.
- Javadoc : To automatycznie generuje dokumentację na podstawie komentarzy do kodu źródłowego.
- appletviewer : Używany do wykonywania i debugowania apletów bez przeglądarki internetowej.
- trafny : Narzędzie do przetwarzania adnotacji.
- extCheck : Narzędzie używane do sprawdzania konfliktów plików jar.
- główne narzędzie : Używając tego narzędzia, możesz manipulować Keystore.
- policytool : To jest narzędzie do tworzenia i zarządzania polityką.
- xjc : Jest to część API powiązania XML (JAXB), która akceptuje schemat XML i generuje klasy Java.
Widać więc, że komponenty JDK są tymi, które są nam potrzebne z punktu widzenia rozwoju.
Jak pokazano na powyższym diagramie, kod źródłowy Javy jest konwertowany na kody bajtowe przez kompilator Javy będący częścią JDK. Następnie ten kod bajtowy jest przekazywany do JVM (ten proces został już opisany powyżej) i stamtąd trafia do JRE, gdzie kod jest wykonywany.
Po zapoznaniu się ze szczegółami dotyczącymi JDK i JRE, omówmy teraz różnice między JRE i JDK.
JRE kontra JDK
Nie | JRE | JDK |
---|---|---|
7 | Pobiera skompilowany / zinterpretowany program Java jako dane wejściowe i generuje dane wyjściowe. | Skompilowany program źródłowy Java i generuje plik klasy, który jest następnie przekazywany do maszyny JVM. |
jeden | JRE to skrót od Java Runtime Environment. | JDK oznacza Java Development Kit. |
dwa | Używany głównie do wykonywania programów Java. | JDK jest używany przez programistów do tworzenia programów w języku Java. |
3 | Zawiera dołączoną do niego wirtualną maszynę Java (JVM). | Nie ma JVM. |
4 | Środowisko JRE nie ma kompilatora języka Java, więc nie może kompilować programów. | JDK posiada kompilator javac i jest odpowiedzialny za kompilowanie programów. |
5 | Zawiera bibliotekę klas java, polecenie java i inną infrastrukturę. | JDK zawiera narzędzia, takie jak Javadoc i archiwizator, które są używane do tworzenia aplikacji Java. |
6 | Środowisko JRE można zainstalować jako samodzielny program. | JDK jest oddzielnym instalatorem i jest dostarczany w pakiecie ze środowiskiem JRE. |
Wniosek
W tym samouczku omówiliśmy szczegóły dotyczące zestawu Java Development Kit (JDK), który jest dołączony do środowiska Java Runtime Environment (JRE) i kompilatora Java. Z kolei JRE zawiera wirtualną maszynę Java (JVM), która jest odpowiedzialna za konwersję kodu bajtowego generowanego przez kompilator Java na kod specyficzny dla maszyny.
Wszystko to, w tym język Java, są komponentami jednostki nadrzędnej zwanej platformą Java, która jest środowiskiem, które pomaga nam uruchamiać aplikację Java. Omówiliśmy również szczegółową architekturę i działanie JVM, a także wykonanie programu Java.
=> Zapoznaj się z podręcznikiem Java dla początkujących tutaj.
rekomendowane lektury
- Wirtualna maszyna Java: jak JVM pomaga w uruchamianiu aplikacji Java
- Samouczek Java SWING: kontener, komponenty i obsługa zdarzeń
- Wdrażanie Java: tworzenie i wykonywanie pliku Java JAR
- Modyfikatory dostępu w Javie - samouczek z przykładami
- Samouczek dotyczący refleksji w języku Java z przykładami
- Wprowadzenie do języka programowania Java - samouczek wideo
- Samouczek JAVA dla początkujących: ponad 100 praktycznych samouczków wideo Java
- OOP Java: Wprowadzenie do programowania obiektowego w Javie