Seit Java 9 optimiert die JVM Strings mithilfe einer neuen Funktion namens CompactStrings. Zeichenfolgen können als byte[]-Arrays anstelle von char[] arrays dargestellt werden. Wir können UTF-16 oder Latin-1 verwenden, um ein oder zwei Bytes pro Zeichen zu generieren. Wenn die JVM erkennt, dass eine Zeichenfolge nur ISO-8859-1/Latin-1 Zeichen enthält, verwendet die Zeichenfolge intern ein Byte pro Zeichen.
kann angeben, dass beim Erstellen der Zeichenfolge überprüft wird, ob sie eine kompakte Zeichenfolge enthält. Diese Funktion ist standardmäßig aktiviert und mit -XX:-CompactStrings deaktiviert. Es wird nicht auf die char[]-Implementierung zurückgegriffen und alle Zeichenfolgen als UTF-16 gespeichert.
<strong>// In Java 8 public class String { private final char[] value; // Stores characters in the string --------- } // In Java 9 public class String { private final byte[] value; // Stores characters in the string private final byte coder; // a flag whether to use 1 byte per character or 2 bytes per characters for this string --------- }</strong>
Das obige ist der detaillierte Inhalt vonWas ist eine kompakte Zeichenfolge in Java 9?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!