Ich habe Java HotSpot VM-Optionen gelesen. Ich habe einige interessante VM-Switches gesehen, die hauptsächlich zu Strings gehören - was für mich von großem Wert ist, da meine App einige schwere String-Manipulationen durchführt. Das sind:
-XX:+UseStringCache
-XX:+UseCompressedStrings
-XX:+OptimizeStringConcat
Ich frage mich - sind diese Schalter standardmäßig eingeschaltet? Was ist reale Erfahrung in der Verwendung von ihnen? Machen sie einen Unterschied?
Betrachte die String-Performance, schau dir die -XX:+PrintStringTableStatistics
und -XX:StringTableSize=
an. Java 7 enthält nützliche Funktionen, mit denen Sie den String-Cache optimieren können, wenn Sie die intern gespeicherten Strings verwenden. Auf diese Weise können Sie die Größe des String-Caches optimieren.
Und eine verwandte String-Performance Q / A: Java GC-Optimierung für Strings
Ich weiß, dass -XX:+UseCompressedStrings
in Java 7 gelöscht wurde, weil es zu schwer zu unterstützen war.
Für Java 7 Update 40
%Vor%Tags und Links java performance jvm-hotspot jvm