网站首页 > java教程 正文
从JDK1.6到1.8, 运行时内存分配简图分别如下:
在JDK1.7中的HotSpot中,已经把原本放在方法区的字符串常量池移出。
从JDK7开始永久代的移除工作,贮存在永久代的一部分数据已经转移到了Java Heap或者是Native Heap。但永久代仍然存在于JDK7,并没有完全的移除:符号引用(Symbols)转移到了native heap;字面量(interned strings)转移到了java heap;类的静态变量(class statics)转移到了java heap。
随着JDK8的到来:
JVM不再有PermGen。但类的元数据信息(metadata)还在,只不过不再是存储在连续的堆空间上,而是移动到叫做“Metaspace”的本地内存(Native memory)中。
一、java7到java8的第一部分变化:元空间
下面来一张图看一下java7到8的内存模型吧(这个是在网上找的图,如有侵权问题请联系我删除。)
二、java7到java8的第二部分变化:运行时常量池
运行时常量池(Runtime Constant Pool)的所处区域一直在不断的变化,在java6时它是方法区的一部分;1.7又把他放到了堆内存中;1.8之后出现了元空间,它又回到了方法区。
Metaspace 结构是怎么样的?
参考:https://blog.csdn.net/weixin_42711325/article/details/86533192
感谢您的阅读,本文由 王欣的博客 版权所有。如若转载,请注明出处:王欣的博客(https://wangxin.io/2019/10/31/jvm/jvm_memory_change_history/)
- 上一篇: Java服务是怎样部署的?
- 下一篇: JAVA基础
猜你喜欢
- 2024-11-21 java 核心技术-12版 卷Ⅰ- 5.1.6 理解方法调用
- 2024-11-21 计算机等级考试《二级java》考点精讲
- 2024-11-21 Java异常总结(一) Java异常简介及其架构
- 2024-11-21 Java 21正式发布,15大特性一览
- 2024-11-21 短信服务 platform-sms 0.6.1 发布
- 2024-11-21 Java学习需要多长时间?
- 2024-11-21 一 走进JAVA之 初识JAVA
- 2024-11-21 Java开发:Java 11 和 Java 17 引领 Java 使用情况
- 2024-11-21 Java System类详解
- 2024-11-21 JAVA基础
你 发表评论:
欢迎- 最近发表
-
- 五,网络安全IDA Pro反汇编工具初识及逆向工程解密实战
- 「JAVA8」- Lambda 表达式(java lambda表达式原理)
- 深入探讨Java代码保护:虚拟机保护技术的新时代
- Nginx反向代理原理详解(图文全面总结)
- 逆向拆解日本IT,哪些Java技术栈薪资溢价高
- mybatis 逆向工程使用姿势不对,把表清空了,心里慌的一比
- Spring Boot集成ProGuard轻松实现Java 代码混淆, Java 应用固若金汤
- 从 Java 代码逆向工程生成 UML 类图和序列图
- 人与人相处:尊重是标配,靠谱是高配,厚道是顶配
- Windows系统安装日期如何修改(windows10怎么修改安装日期)
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)