JVM -arkitektur | Forklart

JVM -arkitektur | Forklart
JVM er en abstrakt maskin som brukes til å utføre Java -programmer. I Java konverteres kildekoden til bytecode som etter å ha blitt konvertert ytterligere til en maskinkode overføres til minnet av Java Virtual Machine. Kort sagt, JVM gir et runtime -miljø for utførelse av Java Bytecode som gjør det til en komponent i Java Runtime Environment (JRE). Totalt sett er en JVM ansvarlig for lasting, kobling og initialisering.

JVM -arkitektur

Den interne arkitekturen til Java Virtual Machine består av tre hoveddeler.

1. Klasselaster

2. Minneområde

3. Utførelsesmotor

Her er en visuell fremstilling av JVM -arkitektur.

Under alle deler av Java virtuell maskin blir forklart i detalj.

Klasselaster

En klasselaster i JVM refererer til et delsystem som er ansvarlig for å laste inn filer. Det laster et Java -program hver gang vi kjører et Java -program. Java gir følgende klasselaster.

en. Bootstrap ClassLoader

En superklasse av utvidelsesklasselaster som er ansvarlig for å laste inn RT.JAR -fil

b. Extension ClassLoader

Et barn av Bootstrap ClassLoader og foreldre til system/applikasjonsklasselaster, Lading Classloader laster JAR -filer som er lagret i katalogen.

c. System/applikasjonsklasselaster

Denne klasselasteren laster klassefiler fra ClassPath og er et barn av Extension Classloader.

Minneområde

Et JVM -minneområde består av følgende deler.

en. Metodeområde

Hensikten med metodeområdet er å lagre strukturen til klasser som metodedata eller feltdata, runtime Pool og kode for metoder.

b. Haug

Heap er et dataområde for runtime der objekter blir tildelt.

c. Stabler

Stack er ansvarlig for lagring av rammer, lokale variabler og delvise resultater. Det spiller en viktig rolle i metoden påkallelse og metodeavkastning. Hver gang det opprettes en tråd, opprettes en privat JVM -stabel for den aktuelle tråden samtidig og en ny ramme opprettes hver gang en metode blir påkalt, og så snart påkallingen er ferdig, blir rammen ødelagt.

d. PC -registre

Det er ansvarlig for å holde adressene mens JVM -instruksjoner blir utført.

e. Native method Stacks

Det er ansvarlig for å holde alle innfødte metoder som kreves i en applikasjon.

Utførelsesmotor

En utførelsesmotor består av følgende.

en. Tolk

Den utfører instruksjoner etter å ha lest bytekodestrømmen.

b. Just-in-Time (JIT) Compiler

JIT forbedrer ytelsen ved å samle deler av bytecode med lignende funksjonaliteter på samme.

c.Søppelmann

Det brukes til å samle gjenstander som ikke blir referert til og fjerne dem for å frigjøre minnet.

Native Method -grensesnittet

Det hjelper til med å kommunisere med applikasjoner skrevet på forskjellige språk som C, C ++, etc. Det er også ansvarlig for å hjelpe Java -kode som kjører i JVM med å ringe biblioteker og innfødte applikasjoner.

Metodebiblioteker

Den består av innfødte biblioteker (C, C ++) som er nødvendige for utførelsesmotoren.

Konklusjon

Java Virtual Machine (JVM) er en abstrakt maskin som er bygget for å utføre Java -programmer. Arkitekturen til JVM består av tre hoveddeler som er klasselaster, minneområde og en utførelsesmotor. Minneområde og utførelsesmotor består videre av noen deler som har forskjellige funksjonaliteter. Denne opplæringen forklarer arkitekturen til Java Virtual Machine (JVM) som fremhever funksjonene til de forskjellige komponentene.