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ć.