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

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

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

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

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

相关推荐
没有bug.的程序员15 小时前
Async Profiler:最精准的火焰图工具
java·jvm·spring·对象分配·async profiler
小帅学编程15 小时前
JVM学习记录
jvm·学习
Yweir15 小时前
Linux性能监控的工具集和分析命令工具
java·linux·jvm
友莘居士16 小时前
深入浅出:以太坊虚拟机(EVM)存储模型设计与权衡
jvm·区块链·虚拟机·solidity·evm·合约调用
找不到、了17 小时前
栈帧四要素:JVM 方法执行的完整上下文
java·jvm
TroubleBoy丶18 小时前
Docker可用镜像
java·linux·jvm·docker
Zzzzzxl_18 小时前
互联网大厂Java/Agent面试实战:Spring Boot、JVM、微服务与AI Agent/RAG场景问答
java·jvm·spring boot·ai·agent·rag·microservices
未若君雅裁18 小时前
JVM高级篇总结笔记
java·jvm·笔记
Zzzzzxl_19 小时前
互联网大厂Java/Agent面试实战:JVM、Spring Boot、微服务与RAG全栈问答
java·jvm·springboot·agent·rag·microservices·vectordb
Zzzzzxl_19 小时前
互联网大厂Java/Agent面试实战:微服务、RAG与Agent化实战(含答疑解析)
java·jvm·spring boot·agent·milvus·rag·microservices