String详解

一、String的基本特性

image
image
image
image
image
对于JDK8如果强制设置,那么就会报错
image

二、String的内存分配

image
image
JDK6
image
JDK7
image
image
image
通过字符串常量池在JDK6和JDK8中的存放位置来比较

  • JDK6
    image
    image
  • JDK8
    image

三、String的基本操作

image
image
image

四、字符串拼接操作

image
image

image
image

image

五、intern()的使用

image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image

六、StringTable的垃圾回收

image

  • 当把循环注释掉(没有发生GC)
    image
  • 当循环100次(没有发生GC)
    image
  • 当循环10,000次(没有发生GC)
    image
  • 当循环100,000次(发生GC)
    image
    image

七、G1中的String去重操作

image
image
image
image

原文地址:https://www.cnblogs.com/kaka-qiqi/p/14995655.html