DOMANDA gestione memoria java

wolf1792

Utente Attivo
324
53
Hardware Utente
CPU
Intel i5 2320
Scheda Madre
AsRock P67 Pro3
Hard Disk
WD caviar blue 500Gb
RAM
8 Gb Vegeance low profile
Scheda Video
ATI HD6850
Monitor
Tv Samsung 24" Full-HD
Alimentatore
XFX 450W
Case
Cooler Master 330
Sistema Operativo
windows 8/Ubuntu 13.04
Ragazzi ho un piccolo dubbietto che non riesco a risolvere in quanto non trovo riscontri nè sul libro nè sulle slide su cui studio.
Dato per assodato che le istanze delle classi vengano salvate e gestite nella heap, le dichiarazioni delle classi e i loro metodi/variabili statici, stanno anche loro nella heap o no?
Cioè, quando devo istanziare un oggetto so quanta memoria dovrò riservargli nella heap, perchè essendo già definita la sua classe posso sapere quanto mi serve. Ma la definizioni delle classi dove sono salvate?
 

MarbaL

Nuovo Utente
Ragazzi ho un piccolo dubbietto che non riesco a risolvere in quanto non trovo riscontri nè sul libro nè sulle slide su cui studio.
Dato per assodato che le istanze delle classi vengano salvate e gestite nella heap, le dichiarazioni delle classi e i loro metodi/variabili statici, stanno anche loro nella heap o no?
Cioè, quando devo istanziare un oggetto so quanta memoria dovrò riservargli nella heap, perchè essendo già definita la sua classe posso sapere quanto mi serve. Ma la definizioni delle classi dove sono salvate?
E questa è una bella domanda...No, non sono salvate nella heap. Ti cito testualmente:
For the HotSpot Java VM, the memory pools for serial garbage collection are the following.

  • Eden Space (heap): The pool from which memory is initially allocated for most objects.
  • Survivor Space (heap): The pool containing objects that have survived the garbage collection of the Eden space.
  • Tenured Generation (heap): The pool containing objects that have existed for some time in the survivor space.
  • Permanent Generation (non-heap): The pool containing all the reflective data of the virtual machine itself, such as class and method objects. With Java VMs that use class data sharing, this generation is divided into read-only and read-write areas.
  • Code Cache (non-heap): The HotSpot Java VM also includes a code cache, containing memory that is used for compilation and storage of native code.
A disposizione per qualsiasi ulteriore chiarimento. :)
 

wolf1792

Utente Attivo
324
53
Hardware Utente
CPU
Intel i5 2320
Scheda Madre
AsRock P67 Pro3
Hard Disk
WD caviar blue 500Gb
RAM
8 Gb Vegeance low profile
Scheda Video
ATI HD6850
Monitor
Tv Samsung 24" Full-HD
Alimentatore
XFX 450W
Case
Cooler Master 330
Sistema Operativo
windows 8/Ubuntu 13.04
ok..quindi si può assumere che ci sia un area gestita sempre gestita dalla JVM, che non è heap, ma non ha un nome vero e proprio generico..
Grazie mille ;)
 

Entra

oppure Accedi utilizzando