Java 9 中紧凑型字符串和压缩型字符串之间的差异?


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

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

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

XX:+UseCompressedStrings


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

+XX:-CompactStrings

更新于:30-Mar-2020

175 查看次数

开启您的 职业生涯

通过完成该课程获得认证

开始
广告
© . All rights reserved.