„Java virtuális gép” változatai közötti eltérés
[ellenőrzött változat] | [ellenőrzött változat] |
Nincs szerkesztési összefoglaló |
Nincs szerkesztési összefoglaló |
||
1. sor: | 1. sor: | ||
'''Java virtuális gép'''nek ( |
'''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ő ([[ |
* 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.