Java virtuális gépnek (angol rövidítéssel JVM) nevezik a Sun Microsystems által specifikált Java programozási nyelvhez készített virtuális gépeket. A JVM alapvető feladata a Java bájtkód futtatása, amely platformfüggetlen. A Java bájtkód általában Java nyelvű forrás fordításával jön létre, de léteznek olyan fordítók, amelyek más programnyelvek (pl. Ada) forrásait fordítják Java bájtkódra.

Fő elemei:

  • Osztálybetöltő (angolul classloader) – a főbb ellenőrzéseket végzi a bájtkódon és előkészíti futtatásra
  • Szemétgyűjtő (angolul garbage collector) – működés közben a nem használt objektumokat eltávolítja a memóriából, ezzel helyet szabadít fel
  • Végrehajtó motor (angolul execution engine) – ami a tulajdonképpeni végrehajtást végzi

Programnyelvek szerkesztés

A Java virtuális gép független a Java programozási nyelvtől és más programozási nyelveket is fejlesztettek ki rá.

Licencelése szerkesztés

A J2SE 5.0-tól kezdve, a változásokat a JVM specifikációban a Java Community Process alatt fejlesztették tovább, egész pontosan a JSR 924 alatt.[1] A 2006-os állapot szerint, a specifikációbeli változtatások támogatják a class fájl formátumon végzett ajánlott változtatásokat (a JSR 202-es szerint[2]) a JSR 924 karbantartási kiadásaként. A JVM specifikációt könyv formátumban publikálták,[3] ami "kék könyv" néven ismert. Az előszava így kezdődik:

„Szándékunk, hogy ez a specifikáció hatásosan dokumentálja a Java virtuális gépet, és lehetővé tegye a kompatibilis tiszta (clean-room) implementációk készítését. Az Oracle teszteket biztosít, hogy ellenőrizhetők legyenek a Java virtuális gép megfelelő operációinak implementációi.”

Az Oracle JVM-jét (amit a SUN felvásárlása révén szerzett meg) HotSpot-nak hívják. A clean-room Java implementációk a következők: Kaffe és IBM J9. Az Oracle továbbra is fenntartja a kontrollt a Java védjegy felett, amit arra használ, hogy kiszűrje, hogy mely implementációk illeszkednek teljesen kompatibilis módon az Oracle specifikációjára.

Jegyzetek szerkesztés

  1. JSR 924, specifies changes to the JVM specification starting with J2SE 5.0
  2. JSR 202 Archiválva 2012. február 26-i dátummal a Wayback Machine-ben, specifies a number of changes to the class file format
  3. The Java Virtual Machine Specification (the first and second editions are also available online)

Kapcsolódó szócikkek szerkesztés