Jaké jsou komponenty Java Architecture?



Java Architecture kombinuje proces kompilace a interpretace. V tomto článku vám povím o různých komponentách architektury Java

Java Architecture kombinuje proces kompilace a interpretace. Vysvětluje různé zúčastněné procesy při formulaci a . Než začnu s tématem, dovolte mi, abych vám představil program tohoto článku.

Níže uvedená ukazatele budou našimi tématy diskuse:





Začněme tím, že pochopíme, co přesně je Java Architecture?



Co je Java Architecture?

Zde vám v jednoduchých krocích vysvětlím architekturu java.

  • V Javě existuje proces kompilace a interpretace.
  • Kód napsaný v , je převeden na bajtové kódy, což provádí Java Compiler.
  • Bajtové kódy pak JVM převede na strojový kód.
  • Kód stroje je prováděn přímo strojem.

Tento diagram ilustruje vnitřní fungování kódu Java, přesněji řečeno Java Architecture!



JVM - Java Architecture - EdurekaPojďme se nyní ponořit trochu hlouběji do java architektury a mluvit o různých .

Součásti architektury Java

Existují tři hlavní součásti jazyka Java: JVM, JRE a JDK .

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

Dovolte mi, abych každý z nich vypracoval jeden po druhém:

Virtuální stroj Java:

Už jste někdy slyšeli o WORA? (Napište jednou Spustit kdekoli). Java aplikace se nazývají WORA kvůli jejich schopnosti spouštět kód na jakékoli platformě. To se děje jen kvůli JVM. JVM je komponenta platformy Java, která poskytuje prostředí pro provádění programů Java. JVM interpretuje bytecode do strojového kódu, který se provádí ve stroji, na kterém běží program Java.

Stručně řečeno, JVM provádí následující funkce:

  • Načte kód
  • Ověří kód
  • Spustí kód
  • Poskytuje běhové prostředí

Nyní vám ukážu architekturu JVM. Tady je!

Vysvětlení:

Zavaděč tříd : Class loader je subsystém JVM. Používá se k načtení souborů tříd. Kdykoli spustíme program java, nejprve jej načte třídní zavaděč.

Oblast metod třídy : Je to jedna z datové oblasti v JVM, ve které budou uložena data třídy. V této oblasti jsou uloženy statické proměnné, statické bloky, statické metody, metody instance.

Halda : Při spuštění JVM se vytvoří hromada. Během běhu aplikace se může velikost zvětšit nebo zmenšit.

Zásobník : JVM stack je znám jako stack vláken. Jedná se o datovou oblast v paměti JVM, která je vytvořena pro jedno vlákno provádění. Zásobník JVM vlákna používá vlákno k ukládání různých prvků, tj. Místních proměnných, částečných výsledků a dat pro volání metody a návratů.

Nativní zásobník : Zahrnuje všechny nativní metody používané ve vaší aplikaci.

Execution Engine:

  • Překladač Jit
  • Popelář

Překladač JIT: The Překladač Just-In-Time (JIT) je součástí běhového prostředí. Pomáhá zlepšit výkon aplikací Java kompilací bajtových kódů do strojového kódu za běhu. Kompilátor JIT je ve výchozím nastavení povolen. Když je metoda kompilována, JVM volá kompilovaný kód této metody přímo. Kompilátor JIT kompiluje bytecode této metody do strojového kódu a kompiluje jej „včas“, aby byl spuštěn.

Popelář: Jak to název vysvětluje Popelář znamená sbírat nepoužitý materiál. V JVM tuto práci provádí Garbage collection. Sleduje každý objekt dostupný v haldě prostoru JVM a odstraňuje nežádoucí.
Garbage collector funguje ve dvou jednoduchých krocích známých jako Mark and Sweep:

  • Značka - je to místo, kde sběratel odpadků identifikuje, která část paměti se používá a která ne
  • Zametat - odstraní objekty identifikované během fáze „označení“.

Runtime prostředí Java:

Software JRE vytváří běhové prostředí, ve kterém lze spouštět programy Java. JRE je systém na disku, který vezme váš kód Java, zkombinuje ho s potřebnými knihovnami a spustí JVM k jeho provedení. JRE obsahuje knihovny a software potřebný pro spuštění vašich programů Java. JRE je součástí JDK (kterou budeme studovat později), ale lze ji stáhnout samostatně.

Java Development Kit:

Java Development Kit (JDK) je vývojové prostředí softwaru používané k vývoji Java aplikací a appletů. Obsahuje JRE a několik vývojových nástrojů, tlumočník / nakladač (java), překladač (javac), archivátor (jar), generátor dokumentace (javadoc) doplněný dalším nástrojem.

Modrá oblast zobrazená na obrázku je JDK. Dovolte mi nyní, abych vám všem vypracoval vývojové nástroje.

Jáva : je to launcher pro všechny java aplikace.
javac : kompatibilní s programovacími jazyky Java.
javadoc : je to generátor dokumentace API.
sklenice : vytváří a spravuje všechny soubory JAR.

Pokračujeme v architektuře Java a pochopíme, jak je platforma Java nezávislá?

Jak je nezávislá platforma Java?

Kdy se programovací jazyk nazývá platformově nezávislý? Pokud a pouze pokud může běžet na všech dostupných operačních systémech s ohledem na jeho vývoj a kompilaci.
Nyní, Jáva je nezávislý na platformě jen kvůli bytecode. Řeknu vám, co přesně je bytecode? Jednoduše řečeno,
Bytecode je kód JVM, který je strojově srozumitelný.
Provádění Bytecode v Javě dokazuje, že jde o jazyk nezávislý na platformě.
Zde vám ukážu kroky spojené s procesem provádění bajtového kódu Java.

Níže je uvedeno vysvětlení příslušných kroků:

sample.java → javac (ukázková třída) → JVM (sample.obj) → konečný výstup

První zdrojový kód používá kompilátor Java a je převeden do souboru .class. Kód souboru třídy je ve formě bajtového kódu a tento soubor třídy používá JVM k převodu na soubor objektu. Poté se na obrazovce zobrazí konečný výstup.

Pokračujeme v článku o architektuře Java, pojďme pochopit koncept JIT v Javě .

JIT v Javě

Just In Time kompilátor běžně známý jako JIT, je v zásadě zodpovědný za optimalizaci výkonu aplikací založených na java za běhu. Výkon aplikace závisí na kompilátoru.
Zde je jednoduchý diagram ukazující probíhající interní proces.

funkce řazení c ++ pole

Překladač JIT - Java Architecture - Edureka

Kompilátor JIT kompiluje bajtový kód metody do strojového kódu a kompiluje ji „Just In Time“. Když je metoda kompilována, JVM volá kompilovaný kód této metody přímo.
Pojďme se ponořit hlouběji:
Bajtový kód musí být interpretován nebo zkompilován podle správných strojových instrukcí v závislosti na poskytované instrukční sadě. Rovněž je lze přímo provést, pokud je architektura instrukce založena na bajtovém kódu. Interpretace bajtového kódu ovlivňuje rychlost provádění.
Za účelem zlepšení výkonu kompilátoři JIT interagují s Java Virtual Machine (JVM) za běhu a kompilují vhodné sekvence bytecode do nativního strojového kódu (jak je znázorněno na obrázku). Při použití kompilátoru JIT je hardware schopen spustit nativní kód ve srovnání s tím, že JVM opakovaně interpretuje stejnou sekvenci bytecode a způsobuje režii procesu překladu.

S tímto jsem se dostal ke konci tohoto článku o architektuře Java. Doufám, že výše diskutovaná témata přidají hodnotu vašim znalostem jazyka Java. Sledujte další články!

Nyní, když jste pochopili základy Javy, podívejte se na Edureka, důvěryhodná online vzdělávací společnost se sítí více než 250 000 spokojených studentů rozložených po celém světě. Školicí a certifikační kurz Edureka Java J2EE a SOA je určen pro studenty a profesionály, kteří chtějí být vývojářem Java. Kurz je navržen tak, aby vám poskytl náskok v programování v Javě a naučil vás základní i pokročilé koncepty Javy spolu s různými rámci Java, jako je Hibernate & Spring.

Máte na nás dotaz? Uveďte to prosím v sekci komentářů v tomto blogu „Java Architecture and its components“ a my se vám ozveme co nejdříve.