Was macht das UseCompressedOops-JVM-Flag und wann sollte ich es verwenden?
Was macht der hotspot JVM-flag -XX:+UseCompressedOops
tun und Wann sollte ich es verwenden? Welche Art von performance-und memory-Nutzung Unterschiede werde ich sehen, wenn Sie es auf einem 64-bit-Java-Instanz (im Vergleich zu nicht mit es)?
InformationsquelleAutor der Frage noahlz | 2012-06-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Meisten HotSpot-JVM im letzten Jahr habe es auf Standardeinstellung. Diese option ermöglicht es, Verweise auf 32-bit-in eine 64-bit-JVM und der Zugang in der Nähe zu 32 GB heap. (mehr als 32-bit-Zeiger können) (Sie haben nahezu unbegrenzte off-heap-Speicher). Dies kann sparen Sie eine erhebliche Menge an Speicher und potenziell die Leistung zu verbessern.
Wenn Sie diese option verwenden möchten, ich schlage vor, Sie aktualisieren Sie auf eine version, die standardmäßig aktiviert, da es möglicherweise einen guten Grund, wie Fehler, warum es nicht aktiviert war. Versuchen Sie Java 6 update 23 Java 7 update 5.
Kurz, nicht biegen Sie es auf, verwenden Sie eine version, die standardmäßig aktiviert ist.
Update:
In Java 8 haben Sie die option, um die
-XX:ObjectAlignmentInBytes=
und in der Tat, wenn Sie die heap-Größe von 64 GB wird es mit-XX:ObjectAlignmentInBytes=16
und immer noch mit 32-bit-Referenzen.InformationsquelleAutor der Antwort Peter Lawrey