Ano ang JIT sa Java? - Pag-unawa sa Mga Batayan ng Java



Ang tagatala ng Just-In-Time ay isa sa mga mahalagang bahagi ng Java Runtime Environment. Sasabihin sa iyo ng artikulong ito sa JIT sa Java kung paano pinahuhusay ng tagatala na ito ang pagganap ng mga aplikasyon ng Java.

Ang bawat wika ng programa ay gumagamit ng isang tagatala upang mai-convert ang mataas na antas na code ng wika sa antas ng makina na binary code, dahil nauunawaan lamang ng system ang binary code. Batay sa uri ng wika ng programa, magkakaiba ang tagatala. Ngayon pinag-uusapan ang , ginagamit nito ang kamangha-manghang tagatala na tinatawag na JIT (Just-in-Time) sa Java . Sasabihin sa iyo ng blog na ito ang lahat tungkol sa JIT Java Compiler.

Nasa ibaba ang mga paksang sakop sa artikulong ito:





Kaya, magsimula na tayo!

ano ang isang halimbawa ng isang klase sa java

Java JIT Compiler - Pangkalahatang-ideya

Ang Just-In-Time compiler ay isa sa mga integral na bahagi ng . Pangunahin na responsable ito para sa pag-optimize ng pagganap ng mga application na nakabatay sa Java sa oras ng pagpapatakbo o oras ng pagpapatupad. Sa pangkalahatan, ang pangunahing motto ng tagatala ay ang pagtaas ng pagganap ng isang application para sa end user at developer ng application.



Malalim na Sumisid sa JIT sa Java

  • Ang code ng byte ang pangunahing potensyal ng kapaligiran ng WORA (Sumulat nang isang beses, patakbuhin kahit saan) na kapaligiran. Bilis ng Application ng Java nakasalalay sa paraan ng pag-convert ng byte code sa katutubong machine code. Ang bytecode ay maaaring ipakahulugan o maiipon sa katutubong code o direktang naisagawa sa processor. Ngunit, kung ang bytecode ay binibigyang kahulugan, direktang nakakaapekto ito sa bilis ng aplikasyon.

  • Upang mapabilis ang pagganap, nakikipag-usap ang JIT compiler sa JVM sa oras ng pagpapatupad upang maipon ang mga pagkakasunud-sunod ng byte code sa katutubong code ng makina. Talaga, kapag gumagamit ng JIT Compiler, ang katutubong code ay madaling naisagawa ng hardware kapag inihambing sa JVM Interpreter. Sa pamamagitan nito, magkakaroon ng malaking pakinabang sa bilis ng pagpapatupad.

  • Kapag pinagsama-sama ng JIT Compiler ang serye ng byte code, nagsasagawa din ito ng ilang mga pag-optimize tulad ng pagtatasa ng data, pagsasalin mula sa mga pagpapatakbo ng stack upang irehistro ang mga operasyon, tinanggal ang mga subexpression, atbp Ginagawa nitong napaka husay pagdating sa pagpapatupad at pagganap.



Ngayong alam mo na ang mga batayan ng JIT Compiler, ilipat pa natin at unawain ang paggana nito.

Paggawa ng JIT Compiler sa Java

Pinapabilis ng JIT Compiler ang pagganap ng mga application ng Java sa oras ng pagtakbo. Tulad ng Java ay isang , binubuo ito ng . Karaniwan, bumubuo ito ng isang byte code na independiyenteng platform at eisinagawa ng JVM sa iba't ibang mga arkitektura.

Daloy ng Trabaho:

Sa ibaba ng diagram ay inilalarawan kung paano ang aktwal na pagtatrabaho ng pagtitipon ay nagaganap sa Java Runtime Environment.

JIT Compiler - JIT sa Java - Edureka

  1. Kapag na-code mo ang , Gumagamit ang JRE ng javac compiler upang maipon ang mataas na antas Source code sa byte code . Pagkatapos nito, na-load ng JVM ang byte code sa oras ng pagpapatakbo at nagko-convert sa antas ng binary code ng makina para sa karagdagang pagpapatupad gamit ang Interpreter.

  2. Tulad ng nabanggit ko na sa itaas, ang pagbibigay kahulugan ng Java byte code ay binabawasan ang pagganap kung ihahambing sa isang katutubong aplikasyon. Iyon ay kung saan tumutulong ang JIT Compiler upang mapalakas ang pagganap sa pamamagitan ng pag-iipon ng byte code sa katutubong machine code 'nasa tamang oras' tumakbo.

  3. Ang JIT Compiler ay naaktibo at pinagana sa pamamagitan ng default kapag ang isang pamamaraan ay tinawag sa Java. Kapag naipon ang isang pamamaraan, inimbitahan ng Java Virtual Machine ang naipon na code ng pamamaraan nang direkta nang hindi ito binibigyan kahulugan. Samakatuwid, hindi ito nangangailangan ng maraming paggamit ng memorya at oras ng processor. Karaniwan nitong pinapabilis ang pagganap ng Java Native Application.

Kaya, ganyan ang paggana. Ngayon ay sumisid tayo nang mas malalim sa artikulong ito at maunawaan ang mga aspeto ng seguridad ng JIT Compiler sa Java.

Mga Seguridad ng Seguridad ng JIT sa Java

Ang pagtitipon ng byte code sa machine code ng JIT Compiler ay tapos nang direkta sa memorya. ibig sabihin, ang tagatala ay nagpapakain ng machine code nang direkta sa memorya at isinasagawa ito. Sa kasong ito, hindi ito nag-iimbak ng machine code sa disk bago ipatawag ang file ng klase at ipatupad ito. Talaga, ang memorya ay dapat na minarkahan bilang maipapatupad. Para sa kapakanan ng mga isyu sa seguridad, dapat itong makumpleto pagkatapos maisulat ang code sa memorya. Dapat din itong markahan bilang read-only na ang maipapatupad na memorya ay isang butas sa seguridad. Kung nais mong malaman ang tungkol dito, maaari mong suriin ang artikulong ito sa Mga aspeto ng Security ng JIT Compiler .

Ngayon, lumipat tayo ngayon at alamin ang mga kalamangan at kahinaan ng Just-In-Time Compiler sa Java.

Mga kalamangan at kahinaan ng JIT sa Java

Mga kalamangan :

  1. Ang Java code na isinulat mo taon na bago ay tatakbo nang mas mabilis kahit ngayon at na nagpapabuti sa pagganap ng Java Programs.

  2. Mas mabilis din ang pagpapatupad ng mga katutubong imahe dahil wala silang mga aktibidad sa pagsisimula at nangangailangan ng mas kaunting memorya.

    c ++ gamit ang namespace

Kahinaan:

  1. Nagdaragdag ng pagiging kumplikado ng .

  2. Ang mga program na may mas kaunting code ay hindi makikinabang sa Just-In-Time Compilation.

Dinadala tayo nito sa pagtatapos ng artikulong ito sa JIT sa Java. Inaasahan kong nalaman mo ito na nagbibigay-kaalaman.

Suriin ang ni Edureka, isang pinagkakatiwalaang kumpanya sa pag-aaral sa online na may isang network na higit sa 250,000 nasiyahan na mga nag-aaral na kumalat sa buong mundo. Narito kami upang matulungan ka sa bawat hakbang sa iyong paglalakbay, para sa pagiging isang bukod sa mga katanungang ito sa panayam sa java, nakakakuha kami ng isang kurikulum na idinisenyo para sa mga mag-aaral at propesyonal na nais na maging isang Java Developer.

May tanong ba sa amin? Mangyaring banggitin ito sa seksyon ng mga komento ng artikulong 'JIT in Java' at babalikan ka namin sa lalong madaling panahon.