Hvert programmeringssprog bruger en kompilator til at konvertere sprogkoden på højt niveau til binær kode på maskinniveau, fordi systemet kun forstår den binære kode. Baseret på typen af programmeringssprog adskiller kompilatoren sig. Nu taler om , det bruger denne fantastiske kompilator kaldet JIT (Just-in-Time) i Java . Denne blog fortæller dig alt om JIT Java Compiler.
Nedenfor er emnerne i denne artikel:
- Java JIT Compiler - Oversigt
- Arbejde med JIT Compiler i Java
- Sikkerhedsaspekter af JIT i Java
- Fordele og ulemper ved JIT i Java
Så lad os komme i gang!
Java JIT Compiler - Oversigt
Det Just-In-Time kompilator er en af de integrerede dele af . Det er primært ansvarlig for ydeevneoptimering af Java-baserede applikationer i løbetid eller udførelsestid. Generelt er kompilatorens hovedmotto at øge ydeevnen for en applikation til slutbrugeren og applikationsudvikleren.
Dyb dykk ned i JIT i Java
Byte-kode er det vigtigste potentiale i Java's WORA-miljø (skriv en gang, kør hvor som helst). Hastigheden på Java-applikation afhænger af, hvordan bytekoden bliver konverteret til den indbyggede maskinkode. Bytecoden kan enten fortolkes eller kompileres til native kode eller direkte udføres på processoren. Men hvis bytekoden fortolkes, påvirker den applikationens hastighed direkte.
For at fremskynde ydeevnen kommunikerer JIT-kompilatoren med JVM på udførelsestidspunktet for at kompilere bytekodesekvenser til native maskinkode. Dybest set, når du bruger JIT Compiler, udføres den oprindelige kode let af hardwaren sammenlignet med JVM-tolk. Ved at gøre dette vil der være en enorm gevinst i udførelseshastighed.
Når JIT Compiler kompilerer serien med byte-kode, udfører den også visse optimeringer såsom dataanalyse, oversættelse fra stakoperationer til registeroperationer, eliminering af underudtryk osv. Dette gør meget effektiv, når det kommer til udførelse og ydeevne.
gå til c ++
Nu hvor du kender det grundlæggende i JIT Compiler, lad os gå videre og forstå dens funktion.
Arbejde med JIT Compiler i Java
JIT Compiler fremskynder ydeevnen for Java-applikationerne på kørselstid. Som Java er en , det består af . Dybest set udgør den en bytekode, der er platformuafhængig og eudført af JVM på tværs af forskellige arkitekturer.
Workflow:
Nedenstående diagram viser, hvordan den faktiske bearbejdning af kompilering finder sted i Java Runtime Environment.
Når du koder , JRE bruger javac compiler til at kompilere det høje niveau Kildekode til bytekode . Herefter indlæser JVM bytekoden ved kørselstid og konverterer til binær kode på maskinniveau til yderligere udførelse ved hjælp af tolk.
Som jeg allerede har nævnt ovenfor, reducerer fortolkning af Java-byte-kode ydeevnen sammenlignet med et oprindeligt program. Det er her, JIT Compiler hjælper med at øge ydeevnen ved at kompilere bytekoden til den indbyggede maskinkode 'lige til tiden' at løbe.
JIT Compiler er aktiveret og aktiveret som standard, når en metode påberåbes i Java. Når en metode kompileres, påberåber Java Virtual Machine den kompilerede kode for metoden direkte uden at fortolke den. Derfor kræver det ikke meget hukommelsesforbrug og processortid. Det fremskynder dybest set ydeevnen for Java Native Application.
Så sådan fungerer det. Lad os nu dykke dybere ned i denne artikel og forstå sikkerhedsaspekterne ved JIT Compiler i Java.
Sikkerhedsaspekter af JIT i Java
Kompilering af bytekode til maskinkode af JIT Compiler sker direkte i hukommelsen. dvs. compileren føder maskinkoden direkte til hukommelsen og udfører den. I dette tilfælde gemmer den ikke maskinkoden på disken, før den påkalder klassefilen og udfører den. Dybest set skal hukommelsen markeres som eksekverbar. Af hensyn til sikkerhedsproblemer skal dette udfyldes, når koden er skrevet i hukommelsen. Det skal også markeres som skrivebeskyttet, da eksekverbar hukommelse er et sikkerhedshul. Hvis du ønsker at vide mere om dette, kan du tjekke denne artikel på JIT Compiler sikkerhedsaspekter .
Lad os nu gå videre og kende fordele og ulemper ved Just-In-Time Compiler i Java.
Fordele og ulemper ved JIT i Java
Fordele :
Den Java-kode, som du har skrevet år før, kører hurtigere selv i dag, og det forbedrer ydeevnen for Java-programmer.
forskellen mellem redskaber og forlængere
Indfødte billeder udføres også hurtigere, da de ikke har opstartsaktiviteter og kræver mindre hukommelse.
Ulemper:
Øger kompleksiteten af .
Programmer med mindre kode har ikke fordel af Just-In-Time Compilation.
Dette bringer os til slutningen af denne artikel om JIT i Java. Jeg håber, du fandt det informativt.
Tjek af Edureka, et pålideligt online læringsfirma med et netværk på mere end 250.000 tilfredse elever spredt over hele kloden. Vi er her for at hjælpe dig med hvert trin på din rejse, for at blive et udover dette java-interviewspørgsmål, kommer vi med en læseplan, der er designet til studerende og fagfolk, der ønsker at være Java-udvikler.
Har du et spørgsmål til os? Nævn det i kommentarfeltet i denne 'JIT i Java' -artikel, og vi vender tilbage til dig hurtigst muligt.