2014-03-29 15 views
13
class A{ 
static int i = 10; 
static int j = 20; 

static void getname(){ 

    } 

} 

Wo werden diese Variablen gespeichert?Wo java statische Variablen im Speicher gespeichert sind?

+0

Diese Frage ist schon beantwortet Ihnen [hier] [1] [1] beziehen: http://stackoverflow.com/questions/8387989/where-is-a-static -method-und-statisch-variabel-gespeichert-in-java-in-heap-oder-in-sta – mahesh

+0

Möglichkeit repliziert mit [wo ist eine statische Methode und eine statische Variable in Java gespeichert. In Heap oder im Stapelspeicher] (http://stackoverflow.com/questions/8387989/where-is-a-a-static-method-and-a-static-variable-stored-in-java-in-hea- oder in-sta) – pgplus1628

Antwort

0

Ich denke für die meisten Implementierungen einiger JVMS ist es speziell auf die PERM-GEM ... aber ich habe keinen Beweis .. die Wahrheit der Sache ist ... es ist bis zu der JVM wo diese Werte gespeichert sind. Es ist eine Variable ... sie könnte je nach JVM-Implementierung auf viele verschiedene Arten gespeichert werden.

Wenn Sie Speicherprobleme sehen, würde ich wahrscheinlich schauen, was zugewiesen wird und nicht, wie es zugewiesen wird.

Wenn Sie weitere Informationen benötigen, oder Ihre Frage ist mehr Implementierung spezifisch; lassen Sie Ihre Frage anders formulieren und ich werde eine bessere Antwort veröffentlichen.

13

einfach gesagt, Statische Variablen werden in HEAP gespeichert. Klassen und alle Daten, die für Klassen gelten (keine Instanzdaten), werden im Abschnitt "Permanente Generierung" des Heapspeichers gespeichert.

Wenn Sie ausgefeiltes Antwort benötigen, finden diese

static allocation in java - heap, stack and permanent generation

6

Zuerst statische Membervariablen in der Permanent Generation Bereich der Halde gespeichert sind.

Ihr Beispiel enthält primitive Variablen, sie werden im PermGen gespeichert.

Wenn diese Objekttypvariablen waren, kann z.B.static Object x = new Object();, dann würde die Referenz x in PermGen gespeichert werden, während die Object selbst in Young Generation des Heap platziert werden würde.

Verwandte Themen