Objektoverhead

Status
Nicht offen für weitere Antworten.
G

Gast

Gast
Morgen,

wenn ich zwei String speichern will dann kostet mich das einen gewissen Speicherbedarf, wenn ich jetzt diese 2 Strings in ein Objekt verpacke und, kann man dann ungefähr sagen um wieviel mehr Speicherbedarf dann benötigt wird?
 

ARadauer

Top Contributor
eine Referenz hat 2 Byte oder?

du hälst zwei referenzen, also 4 Byte.
vermut ich mal, kann aber auch kompletter blödsinn sein
 
S

SlaterB

Gast
du kannst es testen, indem du mit
Runtime.getRuntime().freeMemory()
und ähnlichen Operationen den Speicher misst,
100.000 derartiger Objekte erzeugst,
danach nochmal den Speicher misst und das benötigte Array oder ähnliches rausrechnest,
(voher mit leerem Array testen, Tests wiederholen)

oder einfach einen Profiler benutzt, der sowas auch kann

---------

mindestens wird so ein Objekt 2x 4 Bytes für die String-Referenzen benötigen, vielleicht noch bisschen mehr um sich selber zu verwalten?

@ARadauer
2 Byte wären ja nur 65k unterschiedliche Adressen im Speicher,
32Bit-Architektur heißt das doch, 64 gibts vielleicht auch schon
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben