Melyek a Java Architecture elemei?



A Java Architecture ötvözi az összeállítás és az értelmezés folyamatát. Ebben a cikkben elmondom a Java Architecture különféle összetevőit

A Java Architecture ötvözi az összeállítás és az értelmezés folyamatát. Megmagyarázza a különböző folyamatokat, miközben megfogalmazzák a . Mielőtt a témával kezdem, hadd ismertessem Önt a cikk napirendjével.

Az alábbiakban említett mutatók lesznek a vitatémáink:





Kezdjük azzal, hogy megértsük, mi is pontosan a Java Architecture?



Mi a Java Architecture?

Itt egyszerű lépésekben elmagyarázom neked a java architektúrát.

  • A Java-ban összeállítás és értelmezés folyik.
  • A beírt kód , bájtkódokká konvertálódik, amelyet a Java fordító végez.
  • A bájtkódokat ezután a JVM konvertálja gépi kódokká.
  • A Machine kódot közvetlenül a gép hajtja végre.

Ez a diagram egy Java kód, vagy pontosan a Java Architecture belső működését szemlélteti!



JVM - Java Architecture - EdurekaMost mélyedjünk el egy kicsit a java architektúrában, és beszéljünk különféle dolgokról .

A Java Architecture elemei

A Java nyelvnek három fő összetevője van: JVM, JRE és JDK .

Java Virtual Machine, Java Runtime Environment és Java Development Kit.

Hadd részletezzem mindegyiket:

Java virtuális gép:

Hallottál már a WORA-ról? (Írjon egyszer Run Run bárhová). Nos, a Java alkalmazásokat azért hívják WORA-nak, mert bármilyen platformon képesek futtatni a kódot. Ez csak a JVM miatt történik. A JVM egy Java platformkomponens, amely környezetet biztosít a Java programok futtatásához. A JVM a bájtkódot gépi kódokká értelmezi, amelyet abban a gépben hajtanak végre, amelyben a Java program fut.

Dióhéjban tehát a JVM a következő funkciókat látja el:

  • Betölti a kódot
  • Ellenőrzi a kódot
  • Futtatja a kódot
  • Futásidejű környezetet biztosít

Most hadd mutassam meg a JVM architektúráját. Itt megy!

Magyarázat:

Osztályterhelő : Az osztálybetöltő a JVM alrendszere. Osztályfájlok betöltésére szolgál. Valahányszor a java programot futtatjuk, az class loader tölti be először.

Osztály módszer területe : Ez a JVM egyik adatterülete, amelyben az osztály adatait tárolják. A statikus változókat, a statikus blokkokat, a statikus módszereket és a példány-módszereket ezen a területen tárolják.

Halom : Halom jön létre, amikor a JVM elindul. Az alkalmazás futása közben megnövekedhet vagy csökkenhet.

Kazal : A JVM-verem szálkötegként ismert. Ez egy adatterület a JVM memóriájában, amely egyetlen végrehajtási szál számára jön létre. A szál JVM-veremét a szál különféle elemek, azaz helyi változók, részeredmények, valamint a hívási módszer és a visszatérések tárolására használja.

Natív verem : Felöleli az alkalmazásban használt összes natív módszert.

Végrehajtó motor:

  • Jit fordító
  • Szemetes

JIT fordító: Az Just-In-Time (JIT) fordító a futási környezet része. Segít javítani a Java alkalmazások teljesítményét azáltal, hogy futás közben bájtkódokat gépi kódokba fordít. A JIT fordító alapértelmezés szerint engedélyezve van. Egy módszer összeállításakor a JVM közvetlenül meghívja a módszer összeállított kódját. A JIT fordító a metódus byte-kódját gépi kódba fordítja, „futtatásához éppen időben” állítja össze.

Szemetes: Ahogy a neve ezt megmagyarázza Szemetes a fel nem használt anyag összegyűjtését jelenti. Nos, a JVM-ben ezt a munkát a Garbage collection végzi. A JVM halomterében elérhető minden egyes objektumot nyomon követ, és eltávolítja a nem kívántakat.
A szemétgyűjtő két egyszerű lépésben működik, a Mark and Sweep néven:

  • Jelölés - itt a szemétgyűjtő azonosítja, hogy melyik memória van használatban és melyik nem
  • Söprés - eltávolítja a „jelölés” szakaszban azonosított objektumokat.

Java futásidejű környezet:

A JRE szoftver futási környezetet épít, amelyben Java programok futtathatók. A JRE az a lemezen működő rendszer, amely átveszi a Java kódot, egyesíti azt a szükséges könyvtárakkal, és elindítja a JVM-et annak végrehajtására. A JRE könyvtárakat és szoftvereket tartalmaz, amelyekre a Java programok futtatásához szükség van. A JRE a JDK része (amelyet később tanulmányozni fogunk), de külön letölthető.

Java fejlesztőkészlet:

A Java Development Kit (JDK) egy szoftverfejlesztő környezet, amelyet Java alkalmazások és kisalkalmazások fejlesztésére használnak. Tartalmazza a JRE-t és számos fejlesztő eszközt, egy tolmácsot / betöltőt (java), egy fordítót (javac), egy archiválót (jar), egy dokumentációs generátort (javadoc) egy másik eszközzel együtt.

Az ábrán látható kék terület JDK. Engedje meg, hogy fejlesszem Önöknek a fejlesztési eszközöket.

Jáva : ez az összes java alkalmazás indítója.
javac : a java programozási nyelvek megfelelője.
javadoc : ez az API dokumentációs generátor.
befőttes üveg : létrehozza és kezeli az összes JAR fájlt.

Haladva a Java architektúrával, hadd értsük meg, hogy a Java platform hogyan független?

Hogyan független a Java platform?

Mikor hívnak bármely programozási nyelvet platformfüggetlennek? Nos, csak akkor, ha az összes rendelkezésre álló operációs rendszeren képes futtatni fejlesztését és fordítását.
Most, Jáva platformfüggetlen csak a bytecode miatt. Hadd mondjam el, mi is pontosan a bájtkód? Egyszerűen,
A Bytecode a JVM kódja, amely géppel érthető.
A Java bytecode-futtatása bizonyítja, hogy platformfüggetlen nyelv.
Itt bemutatom a java bytecode végrehajtásának folyamatát.

Az alábbiakban bemutatjuk az érintett lépések magyarázatát:

minta.java → javac (minta. osztály) → JVM (minta.obj) → végső kimenet

Az első forráskódot a java fordító használja, és .class fájlba konvertálja. Az osztályfájl kód bájtkód formában van, és az osztályfájlt a JVM objektumfájlokká konvertálja. Ezt követően láthatja a végső kimenetet a képernyőn.

mi a posztgraduális bizonyítvány

A Java architektúra cikkében haladva értsük meg a fogalmát JIT Java nyelven .

JIT Java nyelven

A JIT néven ismert Just In Time fordító alapvetően felelős a java alapú alkalmazások futás közbeni optimalizálásáért. Az alkalmazás teljesítménye a fordítótól függ.
Itt van egy egyszerű ábra, amely bemutatja a folyamatban lévő belső folyamatot.

JIT Compiler - Java Architecture - Edureka

A JIT fordító a metódus bájtkódját gépi kódba fordítja, lefuttatásához „Just In Time” -ot. Egy módszer összeállításakor a JVM közvetlenül meghívja a módszer összeállított kódját.
Merüljünk mélyebben:
A bájtkódot a gép utasításai szerint kell értelmezni vagy össze kell állítani, a megadott utasításkészlettől függően. Ezeket közvetlenül is végre lehet hajtani, ha az utasításarchitektúra bájtkódú. A bájtkód értelmezése befolyásolja a végrehajtás sebességét.
A teljesítmény javítása érdekében a JIT fordítók futás közben interakcióba lépnek a Java virtuális géppel (JVM), és megfelelő bytecode szekvenciákat fordítanak natív gépi kódokba (az ábrán látható módon). A JIT fordító használata közben a hardver képes végrehajtani a natív kódot, összehasonlítva azzal, hogy a JVM ugyanazt a bájtkódsorozatot többször is értelmezi, és a fordítási folyamatnál többletköltségeket okoz.

Ezzel elértem a Java architektúráról szóló cikk végét. Remélem, hogy a fent tárgyalt témák hozzáadott értéket nyújtanak Java ismereteihez. Tartson velünk további cikkeket!

Most, hogy megértette a Java alapjait, nézze meg a az Edureka, egy megbízható online tanulási vállalat, amelynek több mint 250 000 elégedett tanulóval rendelkező hálózata elterjedt az egész világon. Az Edureka Java J2EE és SOA képzési és tanúsítási tanfolyamát olyan hallgatók és szakemberek számára tervezték, akik Java fejlesztők szeretnének lenni. A tanfolyamot úgy tervezték, hogy előrelépést nyújtson a Java programozásban, és kiképezzen mind az alapvető, mind a fejlett Java koncepciókra, valamint a különböző Java keretrendszerekkel, például a Hibernate & Spring.

Van egy kérdésünk? Kérjük, említse meg a „Java architektúra és alkatrészei” blog megjegyzés rovatában, és a lehető leghamarabb kapcsolatba lépünk Önnel.