Java 9中的紧凑字符串是什么?
从Java9开始,JVM通过使用名为Compact Strings的新功能来优化字符串。代替使用char[] 数组,可以将字符串表示为byte[]数组。我们可以使用UTF-16或Latin-1 来为每个字符产生一个或两个字节。如果JVM检测到字符串仅包含 ISO-8859-1/Latin-1字符,则字符串内部每个字符使用一个字节。
可以用紧凑型字符串表示该字符串,也可以在创建该字符串时不检测该字符串。默认情况下,此功能已启用,并使用-XX:-CompactStrings关闭。它不会恢复为char[]实现,而是将所有字符串存储为UTF-16。
// In Java 8
public class String {
private final char[] value; // Stores characters in the string
---------
}
//在Java9中
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
---------
}热门推荐
10 香港老妈结婚祝福语简短
11 毕业立体贺卡祝福语简短
12 简短新年年会祝福语
13 评论小品祝福语大全简短
14 恭喜师兄结婚祝福语简短
15 员工集体辞职祝福语简短
16 高中新生祝福语 简短
17 装修祝福语男生搞笑简短
18 生日开业蛋糕祝福语简短