JVM运行时数据区——字符串常量池位置的调整

在JDK6及之前,使用永久代来实现方法区,字符串常量池(StringTable)是在永久代(方法区)中的,但是方法区的回收效率不高,在Full GC时才会回收。

在JDK7中,将字符串常量池转移到了堆中,分配在年轻代和老年代中。

在JDK8中,为了融合HotSpot VM与JRockit VM而做出努力 ,因为JRcockit VM不需要永久代 ,所以移除了永久代,改为了元空间,在本地内存中。

注意:在JDK1.8中,字符串常量池独立于新生代和老年代,有一块独立的区域。

相关推荐
怒放吧德德7 小时前
JUC从实战到源码:JMM总得认识一下吧
java·jvm·后端
向阳12188 小时前
JVM学习路径
java·jvm
救苦救难韩天尊12 小时前
《JVM第9课》垃圾回收器
jvm
快乐非自愿14 小时前
redisson内存泄漏问题排查
java·开发语言·jvm
菜菜-plus15 小时前
jvm垃圾回收算法
java·jvm·算法
恬淡虚无真气从之16 小时前
进程 线程 和go协程的区别
java·开发语言·jvm
刽子手发艺16 小时前
初识JVM、解释和运行、内存管理、即时编译
java·jvm·后端
小小小妮子~1 天前
深入理解Java虚拟机(JVM):从基础到实战
java·开发语言·jvm
Jason-河山1 天前
爱回收根关键字获取对应品牌的ID API 返回值深入解析
java·jvm·算法
程序猿阿伟2 天前
《揭秘观察者模式:作用与使用场景全解析》
java·开发语言·jvm