Razumijevanje Java Compilera i Java virtualnog stroja - 4. dio


Do sada smo prošli kroz rad i klasu koda, glavnu metodu i kontrolu petlje u Javi. Ovdje ćemo u ovom postu vidjeti što je Java Compiler i Java Virtual Machine. Čemu su namijenjene i njihove uloge.

Što je Java Compiler

Java je jako otkucan jezik što znači da varijabla mora sadržavati pravu vrstu podataka. U jako tipkanom jeziku varijabla ne može sadržavati pogrešan tip podataka. Ovo je sigurnosna značajka vrlo dobro implementirana u programski jezik Java.

Java prevodilac odgovoran je za provjeru varijabli radi bilo kakvog kršenja u držanju tipa podataka. Nekoliko iznimaka može se pojaviti u vrijeme izvođenja koje je obvezno za dinamičko vezanje Java-e. Kako se Java program izvodi, on može uključivati nove objekte koji prije nisu postojali, pa je zbog toga moguće imati određeni stupanj fleksibilnosti, u vrsti podataka koje varijabla može sadržavati dopušteno je nekoliko iznimki.

Java Compiler postavio je filtar za onaj dio koda koji se nikada neće prevesti, osim za komentare. Prevoditelj ne raščlanjuje komentare i ostavlja ih onakvima kakvi jesu. Java kôd podržava tri vrste komentara u programu.

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

Sve što se nalazi između/* i */ili/** i */ili nakon //, Java Compiler ignorira.

Java Compiler odgovoran je za strogu provjeru kršenja sintakse. Java Compiler dizajniran je da bude kompajler bajt-koda, tj. Stvara datoteku klase od stvarne programske datoteke napisane isključivo u bajt-kodu.

Java Compiler prva je faza sigurnosti. To je prva linija obrane gdje se provjerava provjera pogrešnog tipa podataka u varijabli. Pogrešan tip podataka može nanijeti štetu programu i izvan njega. Također kompajler provjerava pokušava li bilo koji dio koda prizvati ograničeni dio koda poput privatne klase. Ograničava neovlašteni pristup kodu/klasi/kritičnim podacima.

Java Compiler proizvodi bajt kodove/datoteke klase koje su platforme i arhitektonski neutralne za što je potreban JVM za pokretanje i doslovno će se pokretati na bilo kojem uređaju/platformi/arhitekturi.

Što je Java virtualni stroj (JVM)

Java virtualni stroj sljedeća je linija sigurnosti koja stavlja dodatni sloj između Java aplikacije i OS-a. Također provjerava datoteku klase koju je Java Compiler provjerio i sastavio ako je netko promijenio datoteku klase/bajt kod kako bi ograničio pristup neovlaštenim kritičnim podacima.

Java Virtual Machine interpretira bajtkod učitavanjem datoteke klase u jezik stroja.

JVM je odgovoran za funkcije poput učitavanja i spremanja, aritmetičkog izračuna, pretvorbe tipova, izrade predmeta, rukovanja objektima, prijenosa kontrole, izuzeća pri bacanju itd.

Radni model Jave u kojem Java Compiler kompajlira kôd u calssfile/bytecode, a zatim Java Virtual Machine pokreće classfile/bytecode. Ovaj model osigurava da se kôd izvodi velikom brzinom, a dodatni sloj osigurava sigurnost.

Pa što mislite - Java Compiler ili Java Virtual Machine izvode važniji zadatak? Java program u osnovi mora prolaziti kroz obje površine (Compiler i JVM).

Ovaj post sažima ulogu Java Compilera i JVM-a. Svi vaši prijedlozi dobrodošli su u komentarima u nastavku. Radimo na sljedećem postu "objektno orijentirani pristup Jave". Do tada ostanite uz nas i povezani s TecMintom. Lajkaj nas i dijeli i pomozi nam da se proširimo.