Java 9 中緊湊型字串和壓縮型字串之間的差異?
緊湊型字串在Java 9中引入以替代Java 6 的壓縮字串。它的實現使用了byte[]陣列而不是char[]陣列,並引入了一個新的欄位編碼器來識別它是LATIN1還是UTF16格式,而壓縮字串在Java 6中引入,可以使用byte[]陣列每個字元一個位元組,並繼續使用char[]陣列每個字元兩個位元組,以前可以使用-XX: + UseCompressedStrings啟用它。
與壓縮字串不同,緊湊型字串不需要解包或重新打包。因此,緊湊的字串在執行時會獲得更好的效能。
壓縮字串在Java 6中預設情況下未啟用,需要使用以下命令顯式設定
XX:+UseCompressedStrings
緊湊型字串在 Java 9 中預設啟用,使用以下命令
+XX:-CompactStrings
廣告