Čo sú súčasti architektúry Java?



Java Architecture kombinuje proces kompilácie a interpretácie. V tomto článku vám poviem o rôznych komponentoch architektúry Java

Java Architecture kombinuje proces kompilácie a interpretácie. Vysvetľuje rôzne zúčastnené procesy pri formulovaní a . Skôr ako začnem touto témou, dovoľte mi predstaviť vám program tohto článku.

Ďalej budú uvedené naše diskusné témy:





Začnime tým, že pochopíme, čo to vlastne Java Architecture je?



Čo je to Java Architecture?

Tu vám v jednoduchých krokoch vysvetlím architektúru java.

  • V prostredí Java existuje proces kompilácie a interpretácie.
  • Kód napísaný v , sa prevedie na bajtové kódy, čo vykoná Java Compiler.
  • Bajtové kódy potom JVM prevádza na strojové kódy.
  • Kód stroja je vykonávaný priamo strojom.

Tento diagram ilustruje interné fungovanie kódu Java, alebo presnejšie povedané, Java Architecture!



JVM - Java Architecture - EdurekaPoďme sa teraz trochu hlbšie venovať architektúre Java a hovorme o rôznych .

Komponenty architektúry Java

Existujú tri hlavné komponenty jazyka Java: JVM, JRE a JDK .

Java Virtual Machine, Java Runtime Environment a Java Development Kit.

Dovoľte mi postupne rozpracovať každú z nich:

Virtuálny stroj Java:

Počuli ste už o WORA? (Napíšte raz, Spustiť kdekoľvek). Aplikácie Java sa nazývajú WORA kvôli ich schopnosti spúšťať kód na ľubovoľnej platforme. Toto sa deje iba kvôli JVM. JVM je komponent platformy Java, ktorý poskytuje prostredie na vykonávanie programov Java. JVM interpretuje bytecode do strojového kódu, ktorý sa vykonáva v stroji, na ktorom je spustený program Java.

Stručne povedané, JVM vykonáva nasledujúce funkcie:

  • Načíta kód
  • Overuje kód
  • Vykoná kód
  • Poskytuje runtime prostredie

Teraz vám ukážem architektúru JVM. Tu ide!

Vysvetlenie:

Nakladač triedy : Class loader je subsystém JVM. Používa sa na načítanie súborov triedy. Kedykoľvek spustíme program Java, načíta sa to ako prvý.

Oblasť triednej metódy : Je to jedna z dátových oblastí v JVM, v ktorej budú uložené údaje triedy. V tejto oblasti sú uložené statické premenné, statické bloky, statické metódy, inštančné metódy.

Halda : Hromada sa vytvorí pri spustení JVM. Počas spustenia aplikácie sa môže veľkosť zväčšiť alebo zmenšiť.

Stoh : Zásobník JVM je známy ako zásobník vlákien. Je to dátová oblasť v pamäti JVM, ktorá je vytvorená pre jedno vlákno vykonania. Zásobník vlákna JVM vlákno používa na ukladanie rôznych prvkov, t. J. Lokálnych premenných, čiastkových výsledkov a údajov na volanie metódy a návratov.

Natívny zásobník : Zahŕňa všetky natívne metódy použité vo vašej aplikácii.

Vykonávací modul:

  • Kompilátor JIT
  • Smetiar

Kompilátor JIT: The Kompilátor Just-In-Time (JIT) je súčasťou runtime prostredia. Pomáha pri zlepšovaní výkonu aplikácií Java kompiláciou bajtových kódov do strojového kódu za behu. Kompilátor JIT je predvolene povolený. Keď je metóda kompilovaná, JVM volá priamo kompilovaný kód tejto metódy. Kompilátor JIT kompiluje bytecode tejto metódy do strojového kódu a kompiluje ho „včas“, aby bol spustený.

Smetiar: Ako už názov vysvetľuje Smetiar znamená zber nepoužitého materiálu. V JVM sa táto práca vykonáva pomocou zbierky odpadu. Sleduje všetky dostupné objekty v halde priestoru JVM a odstraňuje nežiaduce.
Zberač odpadu funguje v dvoch jednoduchých krokoch známych ako Mark and Sweep:

  • Značka - je to miesto, kde smetiar identifikuje, ktorá časť pamäte sa používa a ktorá nie
  • Zametať - odstráni objekty identifikované vo fáze „označenia“.

Java Runtime Environment:

Softvér JRE vytvára behové prostredie, v ktorom je možné spúšťať programy Java. JRE je systém na disku, ktorý vezme váš kód Java, skombinuje ho s potrebnými knižnicami a spustí JVM na jeho vykonanie. JRE obsahuje knižnice a softvér potrebný na spustenie vašich programov Java. JRE je súčasťou JDK (ktorú si neskôr preštudujeme), ale dá sa stiahnuť samostatne.

Java Development Kit:

Java Development Kit (JDK) je vývojové prostredie softvéru používané na vývoj aplikácií a appletov Java. Obsahuje JRE a niekoľko vývojových nástrojov, tlmočník / nakladač (java), kompilátor (javac), archivátor (jar), generátor dokumentácie (javadoc) doplnený o ďalší nástroj.

Modrá oblasť zobrazená na diagrame je JDK. Teraz mi dovoľte, aby som vám všetkým vypracoval vývojové nástroje.

java : je to launcher pre všetky java aplikácie.
javac : kompatibilný s programovacími jazykmi Java.
javadoc : je to generátor dokumentácie API.
jar : vytvára a spravuje všetky súbory JAR.

Vpred v architektúre Java, poďme pochopiť, ako je platforma Java nezávislá?

Ako je nezávislá platforma Java?

Kedy sa ľubovoľný programovací jazyk nazýva platformovo nezávislý? No a len v prípade, že vzhľadom na jeho vývoj a kompiláciu môže bežať na všetkých dostupných operačných systémoch.
Teraz, Java je nezávislý na platforme len kvôli bajtkódu. Poviem vám, čo to vlastne je bytecode? Jednoducho povedané
Bytecode je kód JVM, ktorý je strojovo zrozumiteľný.
Vykonanie bajtkódu v jazyku Java dokazuje, že ide o jazyk nezávislý na platforme.
Tu vám ukážem kroky spojené s procesom vykonávania java bytecode.

Ďalej je vysvetlené príslušné kroky:

sample.java → javac (sample. class) → JVM (sample.obj) → konečný výstup

Prvý zdrojový kód používa kompilátor Java a prevádza sa do súboru .class. Kód súboru triedy je vo forme bajtového kódu a tento súbor triedy používa JVM na konverziu na súbor objektu. Potom môžete na obrazovke vidieť konečný výstup.

Ak v článku o architektúre Java napredujeme, poďme pochopiť koncept JIT v Jave .

JIT v Jave

Kompilátor Just In Time všeobecne známy ako JIT je v zásade zodpovedný za optimalizáciu výkonu aplikácií založených na jave za behu. Výkon aplikácie závisí od prekladača.
Tu je jednoduchý diagram, ktorý ukazuje prebiehajúci interný proces.

rozdiely medzi html a xml

Kompilátor JIT - Java Architecture - Edureka

Kompilátor JIT kompiluje bajtový kód metódy do strojového kódu a kompiluje ju tak, aby bola spustená „Just In Time“. Keď je metóda kompilovaná, JVM volá priamo kompilovaný kód tejto metódy.
Poďme sa ponoriť hlbšie:
Bajtový kód je potrebné interpretovať alebo skompilovať podľa vhodných strojových pokynov v závislosti od poskytnutej inštrukčnej sady. Môžu sa tiež priamo vykonať, ak je architektúra inštrukcie založená na bajtovom kóde. Interpretácia bajtového kódu ovplyvňuje rýchlosť vykonania.
Za účelom zvýšenia výkonu kompilátory JIT interagujú s Java Virtual Machine (JVM) za behu a kompilujú vhodné sekvencie bytecode do natívneho strojového kódu (ako je znázornené na diagrame). Pri použití kompilátora JIT je hardvér schopný vykonať natívny kód v porovnaní s tým, že JVM interpretuje opakovane rovnakú postupnosť bajtkódov a vytvára režijné náklady pre proces prekladu.

Týmto som sa dostal ku koncu tohto článku o architektúre Java. Dúfam, že vyššie diskutované témy zvýšili hodnotu vašich znalostí jazyka Java. Zostaňte naladení na ďalšie články!

Teraz, keď ste porozumeli základom Java, sa pozrite na autor: Edureka, dôveryhodná online vzdelávacia spoločnosť so sieťou viac ako 250 000 spokojných študentov rozmiestnených po celom svete. Výcvikový a certifikačný kurz Edureka Java J2EE a SOA je určený pre študentov a profesionálov, ktorí chcú byť vývojármi Java. Kurz je navrhnutý tak, aby vám dal náskok v programovaní v Jave a naučil vás základné aj pokročilé koncepty Javy spolu s rôznymi rámcami Java, ako je Hibernate & Spring.

Máte na nás otázku? Uveďte to, prosím, v sekcii komentárov v tomto blogu „Java Architecture and its components“ a my sa vám ozveme čo najskôr.