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

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

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

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

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

相关推荐
磁爆步兵16 小时前
内存分区:程序运行的核心秘密
java·开发语言·jvm
讓丄帝愛伱18 小时前
JVM线上故障快速排
jvm
落苜蓿蓝18 小时前
Java 循环中对象复用导致属性覆盖?从 JVM 内存模型讲解原因
java·jvm·python
一只专注api接口开发的技术猿18 小时前
OpenClaw 实战:搭建京东商品监控与简易数据分析脚本
大数据·jvm·数据库·oracle·数据分析
Tim_102 天前
【C++】021、RAII
jvm
格兰芬多呼神护卫2 天前
# Agent 企业评估方案深度分析:从“看答案”到持续质量闭环_码士教育
java·开发语言·jvm
CodeStats2 天前
【Java GC】Java JVM 垃圾回收(GC)完全指南:从内存结构到并发回收的底层原理
java·jvm·gc·垃圾回收·zgc·内存结构
ChaHae-In2 天前
JVM运行时数据区与垃圾回收
jvm
IKUN家族2 天前
Spring JVM(二)
java·jvm·spring
程序员天天困2 天前
Arthas ognl 表达式从入门到实战:掌握在线调试最强的表达式引擎
java·jvm·后端