Java Virtual Machine

Sa Wikipedije, slobodne enciklopedije
Idi na: navigacija, traži
Question book-new.svg Ovaj članak ili neka od njegovih sekcija nije dovoljno potkrijepljena izvorima (literatura, web stranice ili drugi izvori).
Sporne rečenice i navodi bi mogli, ukoliko se pravilno ne označe validnim izvorima, biti obrisani i uklonjeni. Pomozite Wikipediji tako što ćete navesti validne izvore putem referenci, te nakon toga možete ukloniti ovaj šablon.

Java Virtual Machine (obično skraćeno na JVM) je virtualna mašina koja može izvršavati Java kompajlirani byte kod, tzv. 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 (eng. write once, run anywhere).

Način Izvršavanja[uredi | uredi izvor]

Programi, da bi se izvršavali na JVM-u, moraju biti kompajlirani u standardni binarni format, 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 tzv. just-in-time kompajlera (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.