Idi na sadržaj

Java Virtual Machine

S Wikipedije, slobodne enciklopedije
Datum izmjene: 24 april 2006 u 11:05; autor: Benko (razgovor | doprinosi)

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 operacionom sistemu, a izvršava na više (en. write once, run anywhere).

Način Izvršavanja

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 od JIT-a, koji kompajlira bytcode u mašinski kod (te je brži da se izvršava). Svaka thread ima svoj stak i programski računar.