Forholdet mellom JVM Minne og Heap Size

Java Virtual Machine representerer grunnlag av Java programmeringsspråk. Programvaren virker som en buffer mellom implementering Java-kode og den underliggende datasystem. Dette gjør at Java-kode for å kjøre på alle systemer som-er, øker portabilitet. Siden JVM eksisterer som et miljø der du kan kjøre koden, inneholder den en egen minnekonfigurasjon, herunder grunne minne og heap plass. Haugen plass utgjør en betydelig del av JVM minne, som inneholder kritiske applikasjons run-time data.

Objekter og Minne

Java representerer et rent objektorientert programmeringsspråk, noe som betyr at Java inneholder fordelene med objektorientert programmering, inkludert arv og polymorfisme. For å inkludere disse fordelene, må JVM ha en plass til å lagre instansiert stedene. Disse objektene eksisterer ikke i umiddelbar minne om en en utførende tråd av Java-kode. Snarere erklærer Java-kode "referanser" til objekter som lagrer en plassering i dyp, langtidshukommelsen.

Den Heap og Stack

Haugen og stabelen utgjør forskjellen mellom lang- og kortsiktig minne i et utførende program, uavhengig av objektorientert språk. Stabelen refererer til de umiddelbare variabler og metodekall inne et utførende program. Dette omfatter skalar variabler, som for eksempel heltall og bytes, så vel som funksjoner heter. Haugen, på den annen side, betegner det sted hvor objekter opprettet er lagret i programmet. Objekter fordeles dynamisk inn i haugen og bli der til det ikke lenger er nødvendig av programmet.

JVM Minne

Designere utviklet JVM minne system for å etterligne objektorientert system av andre språk som C ++. Hver utførende tråd av Java-kode i JVM har sin egen stack, som representerer den lokale skalar variabler og funksjonskall. Videre har JVM sin egen haug plass. Når et program oppretter en referanse til et objekt, trekker dette objektet minne fra den kollektive haug plass.

Den Heap i JVM Minne

Haugen plass er bare en del av den totale JVM minne, sammen med stack plass og andre minnetildelinger for viktige funksjoner og JVM-kode. Men haugen plass representerer en viktig del av JVM i at det er det redskapet som objekter opprettes. I tillegg har JVM en innebygd søppel innsamling program for å slette ubrukte gjenstander fra haugen. I eldre objektorienterte språk, gjenstander måtte slettes manuelt, eller risikert å bruke opp haugen plass i det som ble kalt en "minnelekkasje." JVM er søppelsamler, men overvåker haug og sletter gamle gjenstander.