Java 9中 引入了紧凑字符串,以取代Java 6的压缩 字符串。它的实现使用byte []数组而不是char []数组,并且引入了新的字段编码器以识别它是LATIN1 格式还是UTF16 格式,而Java 6 中引入了可用于每个字符一个字节的byte []数组的压缩 字符串。 ,并继续使用char []数组每个字符两个字节,之前可以使用-XX:+ UseCompressedStrings来打开它。
与压缩字符串不同,紧凑型字符串不需要解包或重新打包。因此,紧凑字符串在运行时提供了更好的性能。
Java 6默认情况下不启用压缩字符串,需要使用以下命令显式设置压缩 字符串
XX:+UseCompressedStrings
默认情况下,使用以下命令在Java 9中启用压缩字符串
+XX:-CompactStrings