Vad är JIT i Java? - Förstå Java Fundamentals



Just-In-Time-kompilatorn är en av de integrerade delarna av Java Runtime-miljön. Den här artikeln om JIT i Java kommer att berätta hur denna kompilator förbättrar Java-applikationernas prestanda.

Varje programmeringsspråk använder en kompilator för att konvertera språkkoden på hög nivå till binär kod på maskinnivå, eftersom systemet bara förstår binärkoden. Baserat på typen av programmeringsspråk skiljer sig kompilatorn från varandra. Nu talar om , den använder den här fantastiska kompilatorn som heter JIT (Just-in-Time) i Java . Den här bloggen berättar allt om JIT Java Compiler.

Nedan följer ämnena i denna artikel:





metodöverbelastning och åsidosättande i Java

Så, låt oss komma igång!

Java JIT Compiler - Översikt

De Just-In-Time kompilator är en av de integrerade delarna av . Det är huvudsakligen ansvarigt för prestandaoptimering av Java-baserade applikationer vid körtid eller exekveringstid. Generellt är kompilatorns huvudmotto att öka prestandan för en applikation för slutanvändaren och applikationsutvecklaren.



Djupdyk i JIT i Java

  • Byte-kod är den främsta potentialen i Java: s WORA-miljö (skriv en gång, kör var som helst). Hastigheten på Java-applikation beror på hur bytekoden konverteras till den inbyggda maskinkoden. Bytkoden kan antingen tolkas eller kompileras till inbyggd kod eller exekveras direkt på processorn. Men om bytekoden tolkas påverkar den direkt applikationens hastighet.

  • För att påskynda prestandan kommunicerar JIT-kompilatorn med JVM vid exekveringstiden för att kompilera byte-kodsekvenser till inbyggd maskinkod. I grund och botten, när JIT Compiler används, körs den inbyggda koden enkelt av hårdvaran jämfört med JVM Interpreter. Genom att göra det kommer det att bli en enorm vinst i exekveringshastigheten.

  • När JIT Compiler kompilerar serien med byte-kod utför den också vissa optimeringar som dataanalys, översättning från stackoperationer till registeroperationer, eliminering av underuttryck, etc. Detta gör mycket effektiv när det gäller utförande och prestanda.



Nu när du känner till grunden för JIT Compiler, ska vi gå vidare och förstå hur det fungerar.

Arbeta med JIT Compiler i Java

JIT-kompilatorn påskyndar Java-applikationernas prestanda vid körning. Som Java är en , det består av . I grund och botten utgör det en byte-kod som är plattformsoberoende och eutförs av JVM över olika arkitekturer.

Arbetsflöde:

Nedanstående diagram visar hur den faktiska bearbetningen av kompilering sker i Java Runtime Environment.

JIT Compiler - JIT i Java - Edureka

  1. När du kodar , JRE använder javac-kompilator för att kompilera högnivån Källkod till byte-kod . Efter detta laddar JVM bytekoden vid körning och konverterar till binär kod på maskinnivå för vidare körning med hjälp av Interpreter.

  2. Som jag redan har nämnt ovan minskar tolkningen av Java-byte-kod prestandan jämfört med en inbyggd applikation. Det är där JIT Compiler hjälper till att öka prestandan genom att kompilera byte-koden till inbyggd maskinkod 'precis i tid' att springa.

    hur man gör en rad objekt
  3. JIT-kompilatorn är aktiverad och aktiverad som standard när en metod anropas i Java. När en metod sammanställs anropar Java Virtual Machine den sammanställda koden för metoden direkt utan att tolka den. Därför kräver det inte mycket minnesanvändning och processortid. Det påskyndar i princip prestandan för Java Native Application.

Så det är så det fungerar. Låt oss nu dyka djupare in i den här artikeln och förstå säkerhetsaspekterna av JIT Compiler i Java.

Säkerhetsaspekter av JIT i Java

Sammanställningen av bytekod till maskinkod av JIT Compiler görs direkt i minnet. dvs. kompilatorn matar in maskinkoden direkt i minnet och kör den. I det här fallet lagras inte maskinkoden på disken innan den anropar klassfilen och kör den. I grund och botten bör minnet markeras som körbart. Av säkerhetsskäl bör detta slutföras efter att koden har skrivits in i minnet. Det bör också markeras som skrivskyddat eftersom körbart minne är ett säkerhetshål. Om du vill veta mer om detta kan du kolla in den här artikeln på JIT Compiler säkerhetsaspekter .

Nu ska vi gå vidare och känna till fördelarna och nackdelarna med Just-In-Time Compiler i Java.

marionett vs kock vs docker

För- och nackdelar med JIT i Java

Fördelar :

  1. Java-koden som du har skrivit år tidigare kommer att gå snabbare även idag och det förbättrar Java-programmens prestanda.

  2. Inbyggda bilder körs också snabbare eftersom de inte har startaktiviteter och kräver mindre minne.

Nackdelar:

  1. Ökar komplexiteten i .

  2. Program med mindre kod gynnas inte av Just-In-Time Compilation.

Detta leder oss till slutet av den här artikeln om JIT i Java. Jag hoppas att du tyckte att det var informativt.

Kolla in av Edureka, ett pålitligt inlärningsföretag online med ett nätverk av mer än 250 000 nöjda elever spridda över hela världen. Vi är här för att hjälpa dig med varje steg på din resa, för att bli en förutom de här Java-intervjufrågorna, kommer vi med en läroplan som är utformad för studenter och yrkesverksamma som vill vara Java-utvecklare.

Har du en fråga till oss? Vänligen nämna det i kommentarsektionen i denna “JIT in Java” -artikel så återkommer vi till dig så snart som möjligt.