jvm内存分为虚拟机栈,堆,方法区,程序计数器,本地方法栈
jvm分为五大模块,类装载器子系统,运行时数据区,执行引擎,本地方法接口,垃圾收集模块
JVM运行时内存
JDK7的内存结构
JDK8的内存结构
JDk7和JDK8变化对比
线程私有的
1.程序计数器
2.虚拟机栈
3.本地方法栈
线程共享的
1.堆
2.方法区
3.直接内存
方法区在JDk8之后的变化
移除了永久代,引入了元空间 永久代中的类元信息转移到了本地内存 永久代中字符串常量池和类静态变量转移到了java堆 永久代参数变成了与元空间参数
永久代会出现性能问题和内存溢出,回收效率偏低
标签:jvm,虚拟机,永久,内存,本地,方法 From: https://www.cnblogs.com/q202105271618/p/16727038.html