Wyszukiwanie w witrynie

Zrozumienie kompilatora Java i wirtualnej maszyny Java — część 4


Do tej pory omówiliśmy działanie i strukturę kodu Java i klasy, metodę główną i kontrolę pętli w Javie. W tym poście zobaczymy, co to jest kompilator Java i wirtualna maszyna Java. Do czego służą i jaka jest ich rola.

Co to jest kompilator Java

Java jest językiem silnie typowanym, co oznacza, że zmienna musi przechowywać odpowiedni rodzaj danych. W języku silnie typowanym zmienna nie może przechowywać nieprawidłowego typu danych. Jest to funkcja bezpieczeństwa bardzo dobrze zaimplementowana w języku programowania Java.

Kompilator Java jest odpowiedzialny za sprawdzenie zmiennych pod kątem jakichkolwiek naruszeń w przechowywaniu typów danych. W czasie wykonywania może pojawić się kilka wyjątków, które są obowiązkowe w przypadku funkcji dynamicznego wiązania Java. Gdy program Java działa, może zawierać nowe obiekty, które wcześniej nie istniały, dlatego aby zachować pewien stopień elastyczności, dozwolonych jest kilka wyjątków w typie danych, który może przechowywać zmienna.

Kompilator Java ustawia filtr dla tych fragmentów kodu, które nigdy się nie skompilują, z wyjątkiem komentarzy. Kompilator nie analizuje komentarzy i pozostawia je bez zmian. Kod Java obsługuje trzy rodzaje komentarzy w programie.


1. /* COMMENT HERE */
2. /** DOCUMENTATION COMMENT HERE */
3. // COMMENT HERE

Wszystko, co znajduje się pomiędzy /* a */ lub /** a */ lub po // jest ignorowany przez kompilator Java.

Kompilator Java jest odpowiedzialny za dokładne sprawdzanie wszelkich naruszeń składni. Kompilator Java został zaprojektowany jako kompilator kodu bajtowego, tj. tworzy plik klasy z rzeczywistego pliku programu zapisanego wyłącznie w kodzie bajtowym.

Kompilator Java to pierwszy etap bezpieczeństwa. Jest to pierwsza linia obrony, podczas której sprawdzane jest, czy zmienna ma nieprawidłowy typ danych. Zły typ danych może spowodować uszkodzenie programu i poza nim. Kompilator sprawdza również, czy jakiś fragment kodu próbuje wywołać ograniczony fragment kodu, taki jak klasa prywatna. Ogranicza nieautoryzowany dostęp do kodu/klasy/danych krytycznych.

Kompilator Java tworzy kody bajtowe/pliki klas, które są neutralne pod względem platformy i architektury, które wymagają uruchomienia maszyny JVM i będą dosłownie działać na dowolnym urządzeniu/platformie/architekturze.

Co to jest wirtualna maszyna Java (JVM)

Wirtualna maszyna Java to kolejna linia zabezpieczeń, która umieszcza dodatkową warstwę pomiędzy aplikacją Java a systemem operacyjnym. Sprawdza również plik klasy, który został sprawdzony pod kątem bezpieczeństwa i skompilowany przez kompilator Java, czy ktoś zmodyfikował plik klasy/kod bajtowy, aby ograniczyć dostęp do nieautoryzowanych krytycznych danych.

Wirtualna maszyna Java interpretuje kod bajtowy, ładując plik klasy do języka maszynowego.

JVM jest odpowiedzialny za funkcje takie jak ładowanie i przechowywanie, obliczenia arytmetyczne, konwersja typów, tworzenie obiektów, manipulacja obiektami, przesyłanie sterowania, zgłaszanie wyjątków itp.

Działający model języka Java, w którym kompilator Java kompiluje kod do pliku calssfile/bytecodes, a następnie wirtualna maszyna Java uruchamia plik klasy/kod bajtowy. Model ten zapewnia szybkie działanie kodu, a dodatkowa warstwa zapewnia bezpieczeństwo.

Jak więc myślisz – Kompilator Java czy Wirtualna maszyna Java wykonują ważniejsze zadanie? Program Java musi zasadniczo działać zarówno na powierzchni (kompilator, jak i JVM).

Ten post podsumowuje rolę kompilatora Java i JVM. Wszystkie Twoje sugestie są mile widziane w komentarzach poniżej. Pracujemy nad kolejnym postem „obiektowe podejście do Javy”. Do tego czasu bądź na bieżąco i połącz się z TecMint. Polub i udostępnij nas i pomóż nam się rozprzestrzeniać.