Architektura JVM
Wewnętrzna architektura wirtualnej maszyny Java składa się z trzech głównych części.
1. Klasę ładującą
2. Obszar pamięci
3. Silnik wykonania
Oto wizualna reprezentacja architektury JVM.
Poniżej wszystkie części maszyny wirtualnej Java są szczegółowo wyjaśnione.
Klasę ładującą
Mloader w JVM odnosi się do podsystemu odpowiedzialnego za ładowanie plików. Ładuje program Java za każdym razem, gdy prowadzimy program Java. Java zapewnia następujące loadlerzy klas.
A. Bootstrap Classloader
Superklasa rozszerzenia klas ładowania, która jest odpowiedzialna za załadowanie RT.plik jar
B. Rozszerzenie klasę
Dziecko Bootstrap Classloader i nadrzędne systemy/aplikacja klasa ładowa, rozszerzenie klas ładują pliki jar zapisane w katalogu.
C. System/Application Classloader
Ta klasowa ładowarka ładuje pliki klas z ścieżki klasy i jest dzieckiem rozszerzenia klas ładowania.
Obszar pamięci
Obszar pamięci JVM składa się z następujących części.
A. Obszar metody
Celem obszaru metody jest zapisanie struktury klas takich jak dane metod lub dane terenowe, pula środowiska wykonawczego i kod metod.
B. Sterta
Sterta to obszar danych wykonawczych, w którym przydzielane są obiekty.
C. Półki na książki
Stack jest odpowiedzialny za przechowywanie ramek, zmienne lokalne i częściowe wyniki. Odgrywa ważną rolę w przywołaniu metody i zwrotu metody. Za każdym razem, gdy tworzony jest wątek, prywatny stos JVM dla tego konkretnego wątku jest tworzona jednocześnie i tworzona jest nowa ramka za każdym razem, gdy wywoływana jest metoda, a gdy tylko inwokacja zakończy się zniszczenie ramy.
D. Rejestry komputera
Jest odpowiedzialny za trzymanie adresów podczas wykonywania instrukcji JVM.
mi. Stosy metody natywnej
Jest odpowiedzialny za przechowywanie wszystkich natywnych metod wymaganych w aplikacji.
Silnik wykonania
Silnik wykonania składa się z następujących.
A. Interpretator
Wykonuje instrukcje po przeczytaniu strumienia bajtowego.
B. Kompilator Just-In-Time (JIT)
JIT zwiększa wydajność poprzez kompilację części kodu bajtowego o podobnych funkcjonalnościach na tym samym, odtąd skracając ogólny czas kompilacji.
C.Śmieciarz
Służy do zbierania obiektów, do których nie są odwoływane i usuwają je, aby zwolnić pamięć.
Interfejs metody natywnej
Pomaga w komunikacji z aplikacjami napisanymi w różnych językach, takich jak C, C ++ itp. Jest również odpowiedzialny za pomoc w kodzie Java w pracy w JVM w wywoływaniu bibliotek i natywnych aplikacji.
Biblioteki metod
Składa się z natywnych bibliotek (C, C ++), które są niezbędne do silnika wykonania.
Wniosek
Java Virtual Machine (JVM) to abstrakcyjna maszyna zbudowana do realizacji programów Java. Architektura JVM obejmuje trzy główne części, które są klasą, obszar pamięci i silnik wykonania. Obszar pamięci i silnik wykonania składają się dodatkowo z niektórych części, które mają różne funkcje. Ten samouczek wyjaśnia architekturę maszyny wirtualnej Java (JVM), podkreślając funkcje swoich różnych komponentów.