Hi,
habe eine Frage zu o.g. Titel (ach ne xD)
komplexe Datentypen speichern ja eine Referenz, d.h. eine Hexadezimalzahl.
Ich versteh aber nicht so ganz wie das mit der Speicher-Reservierung da aussieht.
Also ich meine primitive Typen belegen halt einen fixen Wert, zB int 32 bit long 64 bit usw.
Aber wenn ich sowas habe:
Object o;
Erstmal steckt da "null" drin (wenns jetzt nicht zufällig eine lokale Variable ist).
Die Variable ist ja aber trotzdem an dieser Stelle schon irgendwie angelegt, also wieviel Speicherplatz
belegt das null? Ich meine also wieviel Bit.
Und wie schaut's mit einer echten Referenz aus? Was belegt so eine Hexa-Zahl?
Und überhaupt.. was belegt ein Objekt? Einfach die Summe all seiner Instanz-Variablen? Oder steckt da noch "Overhead" dahinter?
Ich hoffe es ist klar was ich meine.
Ich würd gerne wissen wie genau das aussieht im Hauptspeicher wenn man eine Variable vom komplexen Datentyp anlegt,
und wie groß da der bereich ist wenn da null oder ne Referenz drin liegt.
thx
habe eine Frage zu o.g. Titel (ach ne xD)
komplexe Datentypen speichern ja eine Referenz, d.h. eine Hexadezimalzahl.
Ich versteh aber nicht so ganz wie das mit der Speicher-Reservierung da aussieht.
Also ich meine primitive Typen belegen halt einen fixen Wert, zB int 32 bit long 64 bit usw.
Aber wenn ich sowas habe:
Object o;
Erstmal steckt da "null" drin (wenns jetzt nicht zufällig eine lokale Variable ist).
Die Variable ist ja aber trotzdem an dieser Stelle schon irgendwie angelegt, also wieviel Speicherplatz
belegt das null? Ich meine also wieviel Bit.
Und wie schaut's mit einer echten Referenz aus? Was belegt so eine Hexa-Zahl?
Und überhaupt.. was belegt ein Objekt? Einfach die Summe all seiner Instanz-Variablen? Oder steckt da noch "Overhead" dahinter?
Ich hoffe es ist klar was ich meine.
Ich würd gerne wissen wie genau das aussieht im Hauptspeicher wenn man eine Variable vom komplexen Datentyp anlegt,
und wie groß da der bereich ist wenn da null oder ne Referenz drin liegt.
thx