Warum/Wenn Sie nicht möchten, dass Java 8 UseStringDeduplication aktiviert in die JVM?

Java 8 eingeführt String Deduplication, die aktiviert werden können durch starten der JVM mit -XX:+UseStringDeduplication Möglichkeit geboten, etwas Speicher sparen, indem Verweise auf ähnliche String Objekte anstatt zu halten Duplikate. Natürlich ist es die Wirksamkeit variiert von Programm zu Programm je nach Auslastung der Strings aber ich denke, es ist sicher zu sagen, dass im Allgemeinen kann es als vorteilhaft für die meisten Anwendungen (wenn nicht alle) macht mich Wunder über einige Dinge:

Warum ist es nicht standardmäßig aktiviert? Ist es wegen der Kosten, die im Zusammenhang mit dedeuplication oder einfach, weil G1GC ist noch als neu?

Gibt es (oder gab es) eine beliebige Kante Fällen, in denen Sie nicht wollen, um Verwendung der Deduplizierung?

  • Ich denke, es ist (wie Sie bereits erraten haben) in Erster Linie die Laufzeit, die Kosten der de-Duplikation.
  • Nicht die G1GC, aber die de-Duplizierung selbst könnte als neu.
InformationsquelleAutor Ninetou | 2017-02-07
Schreibe einen Kommentar