A belső ábrázolása java-programot
4.7. A belső ábrázolása Java-programok
A főbb jellemzői a Java platform
alkalmazás - a program a hagyományos értelemben vett, teljesített, azonban a Java platform környezetben;
kisalkalmazások - program fut a környezet a web-böngésző, amely támogatja a Java platform (Sun HotJava, Netscape Communicator, a Microsoft Internet Explorer), az ilyen programokat lehet továbbítani az interneten keresztül, és végre a kliens gép
servleteket és vállalati bab - Java-program, a szerver komponensek elosztott alkalmazások;
Tolerálhatóság Java érjük el, hogy a Java-program fordítása nem közvetlenül semmilyen konkrét számítógépes parancsok, és az ún, Java bytecode - a csapat néhány absztrakt gép az úgynevezett Java (JVM) virtuális gép. A végeredmény (a végrehajtható modul) egy osztály fájlt - a program Java bytecode. A cél (a gépen, amelyen a program fut) meg kell futtatni a szoftvert JVM, ami utánozza a számítógép, amely képes a futó parancsokat Java bytecode. JVM maga platform-függő, amelyet arra terveztek, hogy fut egy adott platform és egy adott operációs rendszer. JVM parancs beolvassa Java byte-kód és szimulálja a végrehajtást a hardver platform, valamint a működési környezetet, amelyben működik. Ebben az esetben használja a Java könyvtár és platform-függő. A mag technológia specifikációja Java bytecode class fájlt és JVM. Java fordítóprogramok hozhatók létre (és vannak) különböző fejlesztők, de az általuk generált futtatható meg kell felelnie az előírásoknak Java bytecode. Sőt, vannak olyan fordítók és más programozási nyelveket, hogy generál Java bytecode. Emellett különböző fejlesztők lehet fejleszteni (és fejlesztett), valamint a JVM, de meg kell felelniük a standard JVM Java bytecode.
Az alkalmazás futtatásához a Java platform
Tehát, a Java-program végre értelmezni módban. Bár a cég a Sun Microsystems nyilvánító hatékonyságának egyik alapvető tulajdonságait Java-programok teljesítmény ez a kijelentés, hogy mondjuk a legkevésbé, kétséges. Értelmezni a program elvileg nem kell elvégezni, amilyen gyorsan csak a programot a cél kódot. Hatékonyság a Java-programok hatékonyságától függ a JVM, és a JVM különböző gyártóktól származó tág határok között változhat ez a mutató (a vezető IBM cég). Ennek része a Java fejlesztő eszközök is vannak, „időben” (JIT - just-in-time) fordítóprogramok, hogy lefordítani Java bytecode kóddá a cél platform, ami egy futtatható formátumban célplatformon és rendszereket. Egy ilyen modul végezzük részvétele nélkül a JVM, és annak végrehajtását történik jobb, mint a végrehajtását értelmezett bytecode, de ez túlmutat a Java platform.
Így a függetlenségét Java-programok specifikus hardver és operációs rendszerek érjük annak a ténynek köszönhető, hogy a Java-platform egy további „réteg” között a kérelem és az operációs rendszer és az API-t használják az adott rendszer kéri egy adott OS API-alkalmazás a JRE vagy a nyelv alapvető szerkezetét
JVM támogatja a belső környezet teljesítményét bytecode, amely a következő nagyszerű jellemzőkkel rendelkezik:
dinamikus objektum-orientált modelljének bemutatása a program. Java-program egy sor osztályok, minden osztály jön létre, amikor fordítod a bináris fájlt az osztályban, de a tényleges soderzhischy bájtkódot módszerek is osztály struktúra leírása (leírás az adatok és módszerek fejlécek). JVM indításkor osztályok mindegyike létrehoz egy osztály objektum - class leíró, amelyben az adatok betöltése a fájl leírását. Ezen túlmenően, az osztály leíró tartalmaz egy hivatkozás egy szülő osztály, interfészek, stb
„Önrendelkezése” - számos eleme a belső ábrázolás a program leírható révén ugyanazon Java. mindenekelőtt kezeli osztály osztály, valamint a be- és kötési eljárásokat. Továbbá a szerkezet osztály Class tárgyakat. leírt tárgy - osztálybetöltője (szintén kapcsolatos Class osztály). Ebből következik, hogy a JVM értelmez nem csak a „felhasználó” kódot, hanem néhány, a rendszer funkcióit, ami szintén Java-ban írt;
teljes ellenőrzése alatt a tárgyakat. Minden objektum a programban dinamikus és örökölt közös őse - az osztály Object, vagyis Minden objektum rendelkezik egy közös belső lény, amelyen keresztül a JVM „követni” őket. Különösen alapján ez az eljárás, az automatikus szemétgyűjtés: elpusztítani az összes tárgy, amely nem áll rendelkezésre (akár közvetlenül, közvetve vagy rekurzívan) keresztül a helyi adatokat a program;
többszálú. A Java, a gondolat, a multi-threading végrehajtott nyelvi szint az a képesség, hogy hozunk létre osztályokat tárgyak származó szál osztály, ahol a futás módszert párhuzamosan végzik a szeret vele a helyi környezet az aktuális objektumot. A JVM-áramok nincsenek értelmezni és végrehajtani a formában a fizikai áramlások által támogatott operációs rendszer. Képletesen szólva, minden patak, egy külön JVM példány. Emellett, a JVM is többszálú: elválasztó funkciókat valósították formájában független szálak.
Az alábbiakban nézzük meg néhány jellemzője a virtuális „processzor” JVM, mint platform fut a Java-programok.