logo

Je li Java interpretirana ili kompajlirana

Programski jezik Java je ranih 1990-ih razvio Sun Microsystem. Java je objektno orijentiran, jednostavan, učinkovit, robustan programski jezik opće namjene. Prvenstveno se koristi za poslovne aplikacije temeljene na webu. U početku je dizajniran za ugrađene mrežne aplikacije koje rade na različitim platformama.

Kad počnemo učiti Java programiranje , postavlja se jedno pitanje: je li Java interpretirana ili kompilirana, ili oboje. Također, ovo pitanje može postaviti ispitanik u vašim intervjuima vezanim uz Javu. Dakle, odgovor na ovo pitanje je Java se i interpretira i kompajlira . Međutim, nije jasno je li Java kompajlirana ili interpretirana. Ne generira strojni kod nakon kompajliranja izvorne datoteke niti interpretira izvornu datoteku za izvršavanje instrukcija koda red po red. Da bismo odgovorili na ovo pitanje, moramo razumjeti kako je Java jezik neovisan o platformi? Što znači da možemo pisati Java kod na platformi i raditi na drugim platformama kao što je hardverski operativni stroj, bez ikakvih promjena. Dakle, razumijevanje načina na koji Java postiže neovisnost o platformi pružit će potpuni odgovor na ovo pitanje.

Java je potpuno prenosiva; isti Java kôd radit će identično na različitim platformama, bez obzira na hardversku kompatibilnost ili operativne sustave.

Java izvorni kod prvo se kompajlira u binarni bajt kod pomoću Java prevoditelja, zatim se ovaj bajt kod izvodi na JVM (Java Virtual Machine), koji je softverski tumač. Dakle, Java se smatra i interpretiranom i kompajliranom.

Prevedeni bajt kod dopušta JVM biti malen, učinkovit i brz. Također, ovaj bajt kod omogućuje prenosivost na Java programski jezik. Omogućuje izvršavanje ovog koda na bilo kojem JVM-u koji je ispravno implementiran na stroju, bez obzira na hardverske i softverske komponente i konfiguracije stroja. Gotovo svi web preglednici sadrže JVM za izvršavanje koda Java appleta.

Razumimo to pomoću jednostavnog Java programa:

Jednostavan Java program i radi

Stvorite jednostavnu .java datoteku koristeći svoj omiljeni uređivač teksta:

Je li Java interpretirana ili kompajlirana

Stavite donji kod u njega:

 class Basic{ public static void main(String args[]){ System.out.println('Hello JavaTpoint'); } } 

I spremite datoteku.

Sada provjerite naš direktorij gdje smo spremili .java datoteku.

Je li Java interpretirana ili kompajlirana

Java aplikaciju možemo izvršiti slijedeći dva koraka.

  1. Prevedite Java program
  2. Izvršite aplikaciju

Kompajlirajte Java aplikaciju:

Za kompajliranje Java programa, izvršite naredbu u nastavku:

 javac Basic.java 

Gornja naredba će prevesti Java program i stvoriti .class datoteku Java programa koja sadrži bajt kod Java aplikacije.

Je li Java interpretirana ili kompilirana

Iz gornjeg izlaza možemo vidjeti da se nakon prevođenja Java programa stvara .class datoteka. Ova datoteka sadrži bajt kod Java programa. Možemo izvršiti ovaj bajt kod na bilo kojem od strojeva koji implementiraju JVM.

Izvršite aplikaciju:

Da biste pokrenuli ovu aplikaciju, izvršite naredbu ispod:

 java Basic 

Gornja naredba će izvršiti bajt kod i izvršiti funkcionalnost programa:

Je li Java interpretirana ili kompajlirana

Iz gornjeg izlaza ispisali smo jednostavnu izjavu.

Korak po korak izvođenje Java programa:

Je li Java interpretirana ili kompajlirana
  1. Napišite Java kod i spremite datoteku s .Java
  2. Sada će se ova datoteka kompajlirati pomoću Java prevoditelja, a to je javac.
  3. Java prevodilac će prevesti Java datoteku i stvoriti .class datoteku koja ima bajt kod (koji zapravo nije strojni kod, za razliku od C prevodioca)
  4. Ovaj generirani bajt kod je neizvršni kod i sada mu je potreban tumač da ga pretvori u strojni kod. Ovdje JVM to rješava.
  5. Sada će JVM izvršiti ovaj bajt kod kako bi izvršio Java bajt kod na stroju.
  6. Sada će naš program izvršiti funkcionalnost i dati željeni rezultat.

Zaključak:

Java se smatra i interpretiranom i kompajliranom. Koristi Java kompajler (javac) i JVM (koji je zapravo softverski tumač) za potpuno izvršavanje Java aplikacije na računalu.