2013-07-23 6 views
9

Wie groß ist die Größe der Referenzvariablen in Java? Ich bin mir ziemlich sicher, dass es nicht von der Architektur abhängig sein wird, oder? Ähnelt es dem Konzept der Zeiger in C? Ich habe versucht, konnte aber keine überzeugende Antwort bekommen.Wie groß ist die Referenzvariable in Java?

+2

hier Siehe http://stackoverflow.com/questions/5350950/reference-type-size-in-java –

+0

Oder hier: http://stackoverflow.com/questions/16882277/how-to-find- objects-size-include-contained-objects –

+1

Die Größe hängt von der Architektur der virtuellen Maschine ab. –

Antwort

12

Die Menge an Speicher, der von einem Referenz verwendet wird, hängt von mehreren Parametern ab:

  • auf einem 32-Bit-JVM, wird es 32 Bits
  • auf einem 64-Bit-JVM, kann es 32 oder 64 Bits je nach Konfiguration. Am Hotspot ist zum Beispiel compressed ordinary object pointers standardmäßig aktiviert und die Größe einer Referenz ist 32 Bit. Wenn Sie die Option mit -XX:-UseCompressedOops deaktivieren, werden sie 64 Bits verwenden.
Verwandte Themen