„Java virtuális gép” változatai közötti eltérés

A Wikipédiából, a szabad enciklopédiából
[ellenőrzött változat][ellenőrzött változat]
Tartalom törölve Tartalom hozzáadva
Nincs szerkesztési összefoglaló
Nincs szerkesztési összefoglaló
1. sor: 1. sor:
'''Java virtuális gép'''nek (röviden '''JVM''') nevezik a [[Sun Microsystems]] által specifikált [[Java programozási nyelv]]hez készített [[virtuális gép]]eket. 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 (programozási nyelv)|Ada]]) forrásait fordítják Java bájtkódra.
'''Java virtuális gép'''nek (angol rövidítéssel '''JVM''') nevezik a [[Sun Microsystems]] által specifikált [[Java programozási nyelv]]hez készített [[virtuális gép]]eket. 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 (programozási nyelv)|Ada]]) forrásait fordítják Java bájtkódra.


Fontosabb elemei:
Fontosabb elemei:
* Osztálybetöltő (classloader), a főbb ellenőrzéseket végzi a bájtkódon, előkészíti futtatásra
* Osztálybetöltő (angolul '''classloader'''), a főbb ellenőrzéseket végzi a bájtkódon, előkészíti futtatásra
* Szemétgyűjtő ([[garbage collection|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
* Szemétgyűjtő (angolul '''[[szemétgyűjtés|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 (execution engine), a tulajdonképpeni végrehajtást végzi
* Végrehajtó motor (angolul '''execution engine'''), a tulajdonképpeni végrehajtást végzi


== Licencelése ==
== Licencelése ==

A lap 2013. szeptember 28., 18:00-kori változata

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.

Fontosabb elemei:

  • Osztálybetöltő (angolul classloader), a főbb ellenőrzéseket végzi a bájtkódon, 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), a tulajdonképpeni végrehajtást végzi

Licencelése

A J2SE 5.0-tól kezdve, a változásokat a JVM specifikációban a Java Community Process alatt fejlesztetetté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-as 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

  1. JSR 924, specifies changes to the JVM specification starting with J2SE 5.0
  2. JSR 202, 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