首页 > 文章列表 > Java 9中Compact Strings和Compressed Strings之间的区别是什么?

Java 9中Compact Strings和Compressed Strings之间的区别是什么?

134 2023-09-09

压缩字符串Java 9中引入,以取代 Java 6 的压缩字符串。它的实现使用 byte[] 数组而不是 char[] 数组,并且引入了新的字段编码器来识别它是 LATIN1 还是 >UTF16 格式,而压缩字符串已在Java 6中引入,可以使用字节[]每个字符一个字节的数组,并继续使用每个字符两个字节的char[]数组,之前可以使用-XX: + UseCompressedStrings打开它。

与压缩字符串不同,压缩字符串不需要解包重新打包。因此,紧凑字符串在运行时提供了更好的性能。

压缩字符串默认情况下在 Java 6 中不启用>,并且需要使用以下命令显式设置

XX:+UseCompressedStrings

紧凑字符串在 Java 9 中默认启用,使用以下命令

+XX:-CompactStrings