JVM内存模型
2018-01-16 10:32:22 15 举报
AI智能生成
JVM内存模型
作者其他创作
大纲/内容
java堆
JVM最大的内存空间,线程共享
保存绝大部分的java实例,分为新生代,老生代
通过-Xmx和-Xms控制大小
OutOfMemeoryError:当无法分配内存
本地方法栈
与虚拟机栈类似,主要是执行Native方法服务
线程独有
方法区
线程共享
存储的是虚拟机加载的类信息,常量,静态变量,即时编译器编译后的代码
通过-XX:MaxPermSize,设置大小
OutOfMemeoryError:当无法分配内存
程序计数器
较小的内存空间,可以看做当前线程执行字节码行号的计数器
线程独有
执行java方法时,记录的是执行字节码地址;执行Native方法,记录为空(Undefined)
java虚拟机栈
与线程的生命周期一致
存储局部变量表、操作数栈、动态链接、方法出口(局部变量表存储:基本类型,对象引用,returnAddress-指向了一条字节码指令的地址)
等信息
等信息
stackoverflow:当线程请求的栈深度超过虚拟机栈深度;OutOfMemeroy:当栈扩展无法申请到做够的内存时
0 条评论
下一页