JVM学习笔记1--运行时数据区域

JVM学习笔记1--运行时数据区域_第1张图片
一、栈(具体点:虚拟机栈,再具体点:虚拟机栈中局部变量表)
1、存储数据:基本数据类型,对象引用、returnAddress
2、抛出的异常:StackOverflowError:线程请求的栈深度大于允许深度
OutofMemoryError:虚拟机栈可动态扩展,扩展时却无法申请带足够的内存
二、Java堆
1、存储数据:对象实例、数组
2、抛出的异常:OutofMemoryError:堆中没有内存完成实例分配或堆无法扩展
三、本地方法栈
与虚拟机栈类似,区别:虚拟机栈:字节码服务(Java方法) 本地方法栈:Native方法服务
四、方法区
1、存储数据:已被虚拟机加载的类信息,常量,静态变量、即时编译器编译后的代码
五、程序计数器
1、存储数据:Java方法:正在执行的虚拟机字节码指令的地址、
Native方法:Undefined
唯一无OutofMemoryError异常

你可能感兴趣的:(JVM)