? The Java Virtual Machine , eller JVM , er plattformen for Java-programmer . JVM kjører som et program på en datamaskin for å fungere som et "virtuelt " miljø der Java-programmer kjøres. For å gjøre dette, må den sin egen hukommelse og datastrukturer . En av disse datastrukturer , haugen , er avgjørende for Java programmet kjøres . Haugen , men utgjør ikke all hukommelsen i JVM , men bare en stor del av den. Prosesser og minne
The JVM , som alle andre program , følger programmet kjøres syklus i en datamaskin. Først datamaskinen overfører informasjon fra JVM -filen ut av harddisken inn hovedminne eller RAM . Deretter blir den JVM en kjørende prosess . Prosesser i hovedminne har sin egen adresse plass , noe som betyr at JVM kan adressere en bestemt mengde minne. Selv om programmet kan be om mer minne , er minnet i JVM begrenset av det fysiske minnet den har tilgang til i hovedsystemet.
Java Virtual Machine og Memory
< p> Inne i JVM , er minnet representert en annen måte. Det interne minnet i JVM er tilgjengelige for Java- programmer og etterligner minne strukturer inne i datamaskinen. Den interne JVM minnet inneholder alle dataene i programmet; viktigst objektet og dynamisk minne allokering utført av programmet. Denne store delen av JVM minne tildeling kalles " haugen ".
The Java Heap
Java heap lagrer dynamisk allokert objekt informasjon fra programmet. Når gjenstander eller andre variabler er opprettet dynamisk under program runtime i objektorienterte programmeringsspråk , kommer plass til å lagre disse objektene fra " haugen ". Haugen fungerer som en pool av plass som programmet kan trekke minne for bruk i programmet. I JVM , gir heap minne når programmet erklærer et objekt .
Forskjeller mellom Java Heap og Memory
heap er bare en del av JVM minne pool , imidlertid. Mens haugen lagrer objekter som erklært av programmet , andre deler av minnet holde data som er viktige for programmet også. Disse deler av minnet kan lagre faste variabler deklarert av programmet eller runtime stack som lagrer referanser til koden og metode erklært under utførelse. JVM minnet som helhet inneholder all informasjon som kreves for å kjøre programmet samt konstant kjøring data . Haugen , som en del av minnet , erklærte butikker fordelt variabler ved selve programmet.