介绍
string deduplication即字符串去重是JDK在1.8开始提供的功能,目的是减少相同内容字符串的内存占用,相同内容是指equals为true的两个字符串。
目前只有在使用G1收集器的情况下才能开启,默认不开启,开启方法为增加 -XX:+UseStringDeduplication
启动参数。
实现机制
java.lang.String字符串对象的数据保存在内部的byte[] value即一个名为value的byte数组中
public final class String {
private final byte[] value;
}
在一次gc之后,回收的heap区域中的活对象(live objects)都会被访问一遍,对于每个string对象,
我们都会查看