文章预览
最近工作好累,今天聊点轻松点的,JVM内存模型,相信应该没有人面试这个都不问吧?哈哈,作为一个后端技术人员,程序的运行环境,执行流程必须要了如指掌,否则面对之后的性能调优,线上问题处理,你将束手无策! 网上对JVM在JDK中的组成,相信大家都已经看过了,这里贴出来比较重要的部分: 1 JDK1.6~1.8 JVM内存模型演变 抛开JDK版本谈JVM内存模型,总之都是片面的,这里从JDK版本的演变聊下JVM的内存模型(下图来自: 小傅哥 ) JDK 1.6: 有永久代 ,静态变量放在永久代; JDK 1.7: 有永久代 ,但已经把字符串常量池、静态变量,存放在堆上,逐渐的减少永久代的使用; JDK 1.8: 无永久代 ,运行时常量池、类常量池,都保存在元空间,但字符串常量池仍然存放在堆上; 2 JVM内存结构 方法区 (1.8去掉,引入元空间) (1)也称非堆,用于存储已
………………………………