Java-programma's gebruiken de computer het geheugen op verschillende manieren . Als Java-programmeurs hebben minstens een basiskennis van hoe het geheugen wordt beheerd binnen de taal , hebben ze een veel betere kans op het creëren van efficiënte , hoog presterende applicaties . Zoals met de meeste aspecten van de programmering , is het niet nodig om alle uitvoeringsdetails van de Java geheugenbeheer model begrijpen , maar grijpen de twee basistypen geheugen en de gevolgen voor de programmering nuttig . Typen En Memory Java variabelen model databank en code componenten op verschillende manieren . Afhankelijk van het type en de omvang van een variabele , kan hij worden opgeslagen in heap of stapelgeheugen . Stack geheugen kan worden gezien als korte termijn als lange termijn heap . Wanneer u een ontwikkelingsproject in Java te benaderen , moet u voortdurend beslissingen nemen over hoe je model data items , die zal bepalen in welke soorten geheugen ze zijn opgeslagen . Nemen van deze beslissingen met een goed begrip van de implicaties kunnen ontwikkelaars programma efficiëntie te maximaliseren . Primitieven Primitieve types in Java zijn stamnummer en karakter types zoals " int " voor primitieve gehele waarden en " char " voor primitieve tekens . Als Java slaat primitieve soorten , de gegevens opgeslagen bestaat grotendeels uit de variabele waarden , zodat de hoeveelheid geheugengebruik neiging kleiner dan bij object types te zijn . Als een primitief soort variabele bestaat alleen als een lokale variabele binnen een toepassing class -bestand , zal Java het op te slaan in het stack geheugen . Objecten Object typen appartementen in java omvatten zowel de soorten die in de taal zelf en types gedefinieerd door programmeurs met klasse declaraties . Wanneer een Java- programma maakt een object , de JVM ( Java Virtual Machine ) wijst een deel van heap geheugen voor het. Binnen het programma , de naam van de variabele is toegewezen voor een objecttype fungeert als een verwijzing naar deze locatie in het geheugen . De ruimte voor een object binnen heap -geheugen kunnen de gegevens binnen het object, inclusief variabelen van elk type bevatten , of primitieve of object . Variabele omvang Variable scope heeft een directe impact op de memory management binnen een Java-programma . Om efficiënte toepassingen te creëren , ontwikkelaars proberen om de benodigde ruimte voor een bepaalde variabele of data-item te minimaliseren . Bijvoorbeeld , de volgende demonstreert een voorwaardelijke verklaring met een lokale variabele binnen is : int someNumber = 3 ; if ( someNumber > 0 ) { int doubleNumber = someNumber * 2 ; System.out.println ( doubleNumber ) ; } dit triviale voorbeeld voert een berekening uit op een variabele , het schrijven van het resultaat uit . De variabele opslaan van de berekening resultaat wordt verklaard in de voorwaardelijke , dus niet toegankelijk is op elk moment na de voorwaardelijke blok . In het algemeen geven variabelen de minimale hoeveelheid ruimte die nodig is voor hen te kunnen functioneren helpt programma's gebruiken zo weinig geheugen mogelijk . Garbage Collection De JVM Garbage Collector beheert de hoeveelheid beschikbaar geheugen een programma . Indien een voorwerp of ander type niet meer in toepassingen worden gebruikt ( bijvoorbeeld als het zijn taak heeft vervuld en is niet meer nodig ) , het geheugen gebruikt idealiter wederopgevoerd indien nodig. De Garbage Collector is in staat om heap geheugen opnieuw toewijzen als een toepassing weinig geheugen middelen wordt uitgevoerd . Als een object variabele is buiten bereik , kan het geheugen van een kandidaat voor garbage collection zijn.
|