StringTable为什么要调整位置
jdk7将StringTable放到了堆空间中,因为永久代的回收效率很低,在full gc的时候才会触发,而full gc的触发原因是是老年代空间不足。这样的设定导致StringTable在永久代回收效率不高,而在日常开发中会有大量的字符串被创建,回收效率低导致永久代内存不足。放到堆里,能够及时回收。
jdk7将StringTable放到了堆空间中,因为永久代的回收效率很低,在full gc的时候才会触发,而full gc的触发原因是是老年代空间不足。这样的设定导致StringTable在永久代回收效率不高,而在日常开发中会有大量的字符串被创建,回收效率低导致永久代内存不足。放到堆里,能够及时回收。