Java virtuális gép

A Wikipédiából, a szabad enciklopédiából

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]