Čo je JIT v Jave? - Porozumenie základom Java



Kompilátor Just-In-Time je jednou z integrálnych súčastí prostredia Java Runtime Environment. Tento článok o JIT v Jave vám povie, ako tento kompilátor zvyšuje výkon aplikácií Java.

Každý programovací jazyk používa kompilátor na prevod kódu vysokej úrovne na binárny kód na úrovni stroja, pretože systém chápe iba binárny kód. Podľa typu programovacieho jazyka sa kompilátor líši. Teraz hovoríme o , používa tento úžasný kompilátor s názvom JIT (Just-in-Time) v jazyku Java . Tento blog vám povie všetko o JIT Java Compiler.

Ďalej sú uvedené témy, ktorým sa tento článok venuje:





Tak poďme na to!

Kompilátor Java JIT - prehľad

The Kompilátor Just-In-Time je jednou z neoddeliteľných súčastí . Je zodpovedný hlavne za optimalizáciu výkonu aplikácií založených na prostredí Java v čase behu alebo v čase vykonania. Všeobecne platí, že hlavným mottom kompilátora je zvýšenie výkonu aplikácie pre koncového používateľa a vývojára aplikácie.



Hlboko sa ponorte do JIT v Jave

  • Bajtový kód je hlavným potenciálom prostredia Java WORA (jednorázový zápis, spustenie kdekoľvek). Rýchlosť Java aplikácia závisí od spôsobu prevedenia bajtového kódu na natívny strojový kód. Bajtkód je možné interpretovať alebo skompilovať do natívneho kódu alebo priamo vykonať v procesore. Pokiaľ je ale bytecode interpretovaný, má to priamy vplyv na rýchlosť aplikácie.

  • S cieľom urýchliť výkon kompilátor JIT komunikuje s JVM v čase vykonávania s cieľom kompilovať sekvencie bajtového kódu do natívneho strojového kódu. V zásade platí, že pri použití kompilátora JIT je natívny kód v porovnaní s tlmočníkom JVM ľahko vykonateľný hardvérom. Týmto spôsobom dôjde k obrovskému zvýšeniu rýchlosti vykonávania.

    sčítanie dvoch čísel v jave
  • Keď kompilátor JIT kompiluje sériu bajtových kódov, vykonáva aj určité optimalizácie, ako je analýza údajov, preklad zo zásobníkových operácií do registračných operácií, eliminácia podvýrazov atď. veľmi efektívne, pokiaľ ide o výkon a výkon.



Teraz, keď poznáte základy kompilátora JIT, poďme ďalej a pochopme jeho fungovanie.

Fungovanie kompilátora JIT v Jave

Kompilátor JIT urýchľuje výkon aplikácií Java za behu programu. Pretože Java je , skladá sa z . V zásade predstavuje bajtový kód, ktorý je nezávislý na platforme a naprrealizované JVM v rámci diverzifikovaných architektúr.

Pracovný tok:

Nasledujúci diagram zobrazuje, ako skutočné fungovanie kompilácie prebieha v prostredí Java Runtime Environment.

Kompilátor JIT - JIT v Jave - Edureka

  1. Keď kódujete , JRE používa kompilátor javac na kompiláciu vysokej úrovne Zdrojový kód do bajtového kódu . Potom JVM načíta bajtový kód za behu a prevedie sa na binárny kód na úrovni stroja na ďalšie vykonanie pomocou tlmočníka.

  2. Ako som už uviedol vyššie, interpretácia bajtového kódu Java znižuje výkon v porovnaní s natívnou aplikáciou. Tam pomáha kompilátor JIT zvýšiť výkon kompiláciou bajtového kódu do natívneho strojového kódu 'práve včas' bežať.

  3. Kompilátor JIT je predvolene aktivovaný a povolený, keď je metóda vyvolaná v Jave. Keď je metóda kompilovaná, Java Virtual Machine vyvolá kompilovaný kód metódy priamo bez jej interpretácie. Preto nevyžaduje veľa využitia pamäte a času procesora. To v zásade urýchľuje výkon natívnej aplikácie Java.

Tak to funguje. Teraz sa ponoríme hlbšie do tohto článku a pochopíme bezpečnostné aspekty kompilátora JIT v Jave.

Bezpečnostné aspekty JIT v Jave

Kompilácia bajtového kódu do strojového kódu pomocou JIT Compiler sa vykonáva priamo v pamäti. tj kompilátor zavedie strojový kód priamo do pamäte a vykoná ho. V takom prípade neuloží strojový kód na disk pred vyvolaním súboru triedy a jeho vykonaním. Pamäť by mala byť v zásade označená ako spustiteľná. Z dôvodu bezpečnostných problémov by to malo byť hotové po zapísaní kódu do pamäte. Malo by to byť tiež označené ako iba na čítanie, pretože spustiteľná pamäť je bezpečnostná diera. Ak sa chcete dozvedieť viac, môžete sa pozrieť na tento článok Aspekty bezpečnosti kompilátora JIT .

Poďme teraz ďalej a pozrime sa na klady a zápory Kompilátor just-in-time v Jave.

Výhody a nevýhody JIT v Jave

Pros :

  1. Kód Java, ktorý ste napísali roky predtým, bude bežať rýchlejšie aj dnes a zvyšuje výkon programov Java.

  2. Natívne obrázky sa tiež vykonávajú rýchlejšie, pretože neobsahujú činnosti pri spustení a vyžadujú menej pamäte.

Zápory:

  1. Zvyšuje zložitosť .

  2. Programy s menším počtom kódov nemajú výhodu kompilácie Just-In-Time.

Týmto sa dostávame na koniec tohto článku o JIT v Jave. Dúfam, že ste to našli poučné.

Pozrite sa 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. Sme tu, aby sme vám pomohli na každom kroku na vašej ceste. Okrem otázok týkajúcich sa tohto rozhovoru pre jazyk java vymyslíme učebný plán určený pre študentov a profesionálov, ktorí chcú byť vývojármi v prostredí Java.

Máte na nás otázku? Uveďte to prosím v sekcii komentárov v tomto článku „JIT v Jave“ a my sa vám ozveme čo najskôr.