首頁  >  文章  >  Java  >  Java 9中的緊湊字串是什麼?

Java 9中的緊湊字串是什麼?

PHPz
PHPz轉載
2023-09-11 17:09:02765瀏覽

Java 9中的紧凑字符串是什么?

自 Java 9 起,JVM 透過使用名為緊湊##字串的新功能來最佳化字串。字串可以表示為 byte[] 數組,而不是 char[#] 數組。我們可以使用UTF-16Latin-1來為每個字元產生一個或兩個位元組。如果 JVM 偵測到字串僅包含  ISO-8859-1/Latin-1 字符,則字串在內部使用每個字元一個位元組。

可以表示該字串建立字串時會偵測是否包含緊湊字串。此功能預設為啟用,並使用

-XX:-CompactStrings 關閉。它不會恢復為 char[] 實現,並將所有字串儲存為 UTF-16。

<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>

以上是Java 9中的緊湊字串是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除