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

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

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

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

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

相关推荐
坐吃山猪3 小时前
第2章-类加载子系统-知识补充
jvm
百***92028 小时前
java进阶1——JVM
java·开发语言·jvm
Pluchon9 小时前
硅基计划6.0 柒 JavaEE 浅谈JVM&GC垃圾回收
java·jvm·数据结构·java-ee·gc
初学小白...11 小时前
JVM入门知识点
java·服务器·jvm
ZStack开发者社区14 小时前
VMware替代 | ZStack ZSphere虚拟化平台金融级高可用能力解析
服务器·jvm·金融·云计算
那我掉的头发算什么14 小时前
【javaEE】多线程——线程安全初阶☆☆☆
java·jvm·安全·java-ee·intellij-idea
修行者Java1 天前
JVM 内存结构的详细介绍
jvm
hygge9991 天前
JVM GC 垃圾回收体系完整讲解
java·开发语言·jvm·经验分享·面试
不惑_2 天前
[特殊字符] 在 Linux 上设置 SQLite
linux·jvm·sqlite
weixin_456588152 天前
JVM(java虚拟机)
java·开发语言·jvm