Co je JIT v Javě? - Porozumění základům Java



Kompilátor Just-In-Time je jednou z nedílných součástí prostředí Java Runtime Environment. Tento článek o JIT v Javě vám řekne, jak tento kompilátor zvyšuje výkon aplikací Java.

Každý programovací jazyk používá kompilátor k převodu kódu jazyka na vysoké úrovni do binárního kódu na úrovni stroje, protože systém rozumí pouze binárnímu kódu. Na základě typu programovacího jazyka se překladač liší. Nyní mluvíme o , používá tento úžasný překladač zvaný JIT (Just-in-Time) v Javě . Tento blog vám řekne vše o JIT Java Compiler.

Níže jsou uvedena témata v tomto článku:





Pojďme tedy začít!

Kompilátor Java JIT - přehled

The Překladač Just-In-Time je jednou z nedílných součástí . Je odpovědný hlavně za optimalizaci výkonu aplikací založených na prostředí Java v době běhu nebo v době spuštění. Obecně platí, že hlavním mottem kompilátoru je zvyšování výkonu aplikace pro koncového uživatele a vývojáře aplikace.



Hluboko se ponořte do JIT v Javě

  • Bajtový kód je hlavním potenciálem prostředí Java WORA (Write once, run anywhere). Rychlost Java aplikace záleží na způsobu převodu bytového kódu na nativní strojový kód. Bajtkód lze interpretovat nebo zkompilovat do nativního kódu nebo přímo spustit na procesoru. Pokud je ale bytecode interpretován, má to přímý vliv na rychlost aplikace.

  • Aby bylo možné urychlit výkon, kompilátor JIT komunikuje s JVM v době provádění za účelem kompilace sekvencí bajtového kódu do nativního strojového kódu. V podstatě při použití kompilátoru JIT je nativní kód snadno proveden hardwarem ve srovnání s JVM Interpreter. Tímto způsobem docílíte obrovského zvýšení rychlosti provádění.

    přidání dvou čísel v Javě
  • Když kompilátor JIT kompiluje řadu bajtových kódů, provádí také určité optimalizace, jako je analýza dat, překlad z operací zásobníku na operace registrace, eliminace podvýrazů atd. velmi efektivní, pokud jde o provedení a výkon.



Nyní, když znáte základy kompilátoru JIT, pojďme dále a pochopme jeho fungování.

Práce kompilátoru JIT v Javě

Kompilátor JIT zrychluje výkon aplikací Java za běhu. Protože Java je , skládá se z . V zásadě to představuje bytový kód, který je nezávislý na platformě a napřx provedeno JVM napříč diverzifikovanými architekturami.

Pracovní postup:

Níže uvedený diagram ukazuje, jak skutečné fungování kompilace probíhá v prostředí Java Runtime Environment.

JIT Compiler - JIT v Javě - Edureka

  1. Když kódujete , JRE používá kompilátor javac ke kompilaci na vysoké úrovni Zdrojový kód do bajtového kódu . Poté JVM načte bajtový kód za běhu a převede ho na binární kód na úrovni stroje pro další provedení pomocí tlumočníka.

  2. Jak jsem již zmínil výše, interpretace Java byte kódu snižuje výkon ve srovnání s nativní aplikací. To je místo, kde JIT Compiler pomáhá zvýšit výkon kompilací bajtového kódu do nativního strojového kódu 'právě včas' běžet.

  3. Kompilátor JIT je ve výchozím nastavení aktivován a povolen, když je metoda vyvolána v Javě. Když je metoda kompilována, Java Virtual Machine vyvolá kompilovaný kód metody přímo, aniž by ji interpretoval. Proto nevyžaduje příliš mnoho využití paměti a času procesoru. To v podstatě zrychluje výkon nativní aplikace Java.

Tak to funguje. Nyní se ponoříme hlouběji do tohoto článku a porozumíme bezpečnostním aspektům kompilátoru JIT v Javě.

Bezpečnostní aspekty JIT v Javě

Kompilace bajtového kódu do strojového kódu pomocí JIT Compiler se provádí přímo v paměti. tj. kompilátor přivádí strojový kód přímo do paměti a provádí jej. V takovém případě neukládá strojový kód na disk před vyvoláním souboru třídy a jeho spuštěním. V zásadě by měla být paměť označena jako spustitelná. Z důvodu bezpečnostních problémů by to mělo být dokončeno po zapsání kódu do paměti. Také by měl být označen jako jen pro čtení, protože spustitelná paměť je bezpečnostní díra. Pokud se o tom chcete dozvědět více, můžete se podívat na tento článek Aspekty zabezpečení kompilátoru JIT .

Pojďme nyní dále a poznejme výhody a nevýhody Kompilátor just-in-time v Javě.

Výhody a nevýhody JIT v Javě

Profesionálové :

  1. Kód Java, který jste napsali roky předtím, poběží rychleji i dnes a zlepšuje výkon programů Java.

  2. Nativní obrázky se také spouštějí rychleji, protože nemají spouštěcí aktivity a vyžadují méně paměti.

Nevýhody:

  1. Zvyšuje složitost .

  2. Programy s menším množstvím kódu nemají výhodu kompilace Just-In-Time.

Tím se dostáváme na konec tohoto článku o JIT v Javě. Doufám, že vám to připadalo poučné.

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ů po celém světě. Jsme tu, abychom vám pomohli s každým krokem na vaší cestě, abychom se kromě otázek týkajících se tohoto rozhovoru pro javu stali i učebním plánem, který je určen pro studenty a profesionály, kteří chtějí být vývojářem Java.

Máte na nás dotaz? Uveďte to prosím v sekci komentářů v tomto článku „JIT v Javě“ a my se vám ozveme co nejdříve.