De Java Virtual Machine vormt de basis van de programmeertaal Java . De software werkt als een implementatie buffer tussen Java code en het onderliggende computersysteem . Dit maakt Java- code kan worden uitgevoerd op elk systeem zoals het is , het verhogen van draagbaarheid . Sinds de JVM bestaat als een omgeving waarin de code uit te voeren , het bevat zijn eigen geheugen configuratie , inclusief ondiep geheugen en heap ruimte . De heap ruimte maakt een belangrijk deel van de JVM geheugen , met een kritische applicatie run - time data . Objecten en Memory Java vertegenwoordigt een puur object - georiënteerde programmeertaal , wat betekent dat Java bevat de voordelen van objectgeoriënteerd programmeren , zoals overerving en polymorfisme . Om deze voordelen zijn , moet de JVM hebben een ruimte om geïnstantieerde objecten op te slaan . Deze objecten bestaan niet in de onmiddellijke geheugen van een een uitvoerende draad van Java-code . Integendeel, Java-code verklaart " verwijzingen " naar objecten die een plaats in een diepe, lange termijn geheugen op te slaan . De Hoop en de Stack De hoop en de stack vertegenwoordigen het verschil tussen de lange - en korte - termijn-geheugen in een uitvoerende programma , ongeacht de objectgeoriënteerde taal . De stack betrekking op het onmiddellijke variabelen en methodevraag binnen een uitvoerende programma . Dit omvat scalaire variabelen , zoals integers bytes , evenals functies genoemd . De heap , anderzijds , voor de locatie waar objecten die zijn opgeslagen door het programma . Objecten worden dynamisch toegewezen in de heap en daar blijven totdat ze niet meer nodig door het programma . JVM geheugen Designers ontwikkelde de JVM geheugen systeem om de na te bootsen object - georiënteerd systeem van andere talen zoals C + + . Elk uitvoeren draad van Java-code in de JVM heeft zijn eigen stack , wat neerkomt op de lokale scalaire variabelen en functie-aanroepen . Verder heeft de JVM een eigen heap ruimte . Wanneer een programma wordt een verwijzing naar een object , dat object geheugen put uit de collectieve hoop ruimte . De Hoop in JVM geheugen De heap ruimte is slechts een deel van de totale JVM geheugen , samen met stack ruimte en andere geheugen toewijzingen voor cruciale functies en JVM code . De hoopruimte een beslissende deel van de JVM die in het voertuig is waarmee objecten worden gemaakt . Ook de JVM een ingebouwde garbage verzamelen programma ongebruikte voorwerpen uit de stapel te verwijderen . In oudere objectgeoriënteerde talen , moest objecten handmatig worden verwijderd , of riskeerde behulp van de hoop ruimte in wat genoemd werd een ' geheugenlek . " JVM 's garbage collector echter bewaakt de hoop en verwijdert oude voorwerpen .
|