Ist es richtig anzunehmen, ein Java-Objekt nimmt nur die 8 Bytes für die Objektreferenz auf, solange alle seine Mitglieder auf null
gesetzt sind oder benutzt die Definition von Mitgliedern bereits Speicherplatz in der Instanz aus irgendeinem Grund?Wie viel Speicher verwendet ein Java-Objekt, wenn alle seine Mitglieder null sind?
Mit anderen Worten, wenn ich eine große Sammlung von Objekten habe, die Platz sparend sein sollen, kann ich damit rechnen, dass nicht verwendete Elemente auf null
gesetzt werden, um den Speicherbedarf zu reduzieren?
Ja, gute Frage. :) Also entspricht ein Feld einem C-Zeiger (der auch Speicher für sich selbst benötigt)? –
Ja, Variablen von Referenztypen (Klassen) sind Verweise auf Objekte auf dem Heap, die den C-Zeigern entsprechen. Der Speicher würde für den Zeiger und für das Objekt, auf das er zeigt, verwendet werden. Primitive Typen wie int werden direkt gespeichert und haben immer die gleiche Größe. – Joe