Java (virtualna mašina)

Izvor: Wikipedia
(Preusmjereno sa Java (virtualni stroj))

Java Virtualna Mašina (obično skraćeno na JVM) je virtualna mašina koja može izvršavati Java kompajlirani byte kod, tkz. Javin bytecode. JVM je osnovna komponenta Java platforme, te implementacija JVM-a na različitim hardver i softver platformama omogućava Javu da funkcioniše na tim platformama, tj. zadovoljava jedan od Javinih osnovnih ciljeva da se kod piše na jednom operativnom sistemu, a izvršava na više (((en))).

Način Izvršavanja[uredi - уреди]

Programi, da bi se izvršavali na JVM-u, moraju biti kompajlirani u standardni binarni format, tkz. bytecode, gdje je svaka .java datoteka kompajlirana u odgovarajuću .class datoteku. Ako program sadrži više .class datoteka, one se mogu staviti u jedan JAR datoteku (ili Javinu Arhivu), što olakšava distribuciju tog programa.

Binarny bytecode se izvršava u JVM-u emulacijom JVM-ovih instrukcija putem interpretacije ili primjenom tkz. just-in-time kompajler (JIT), poput Sun-ovog HotSpot JIT-a.

Javin bytecode je napravljen na bazi staka (en. stack - gomila), tj. JVM-ov interpreter koristi stak-baziranu arhitekturu pri izvršavanju. Za razliku, JIT kompajlira bytcode u mašinski kod (te je brži u toku izvršavanja). Svaka thread ima svoj stak i programski računar.