Unten ist eine Frage, die von einem meiner Freunde während einer Diskussion aufgeworfen wurde, aber wir beide wussten nicht, was die tatsächliche Antwort ist.Wo wird das Objekt in Java erstellt werden
public class Test {
static int i = 5;
static String str = "Welcome";
static Map<String, String> map = new HashMap<>();
}
im Objektcode, wenn JVM-Instanz erstellt wird und es geht alle drei Objekte zu erstellen, wo kommt es es
- Inside memory/metadata area
- Inside heap area
schafft Wir wissen, dass memory area
alle Daten in der Klasse im Zusammenhang hält (einschließlich statische Referenzen) und heap area
enthält alle Instanzvariablen einer Klasse.
Aber für die Klasse über
- int variable is created(We assume that it will be created in method area
- Not sure about the other two object(String and HashMap)
uns korrigieren, wenn wir etwas falsch verstanden haben und uns helfen zu verstehen, wie diese Variable Speicher in java
Alle Objekte werden wie angegeben auf dem Heap erstellt. –
* 1 Fehler *: Die statischen Felder werden initialisiert, wenn die Klasse geladen wird. –