自动内存管理
内存区域
程序计数器 Program Counter Register
执行Java方法,记录当前指令的地址。执行natvie方法,为空虚拟机栈 VM Stack
生命周期与thread相同,描述了Java方法执行的内存模型:每个方法执行时都会创建一个stack frame。存储了局部变量表、操作数栈、动态链接、方法出口等。
局部变量表:基本数据类型、对象引用(reference),指向reference的指针,只想指令码的地址本地方法栈 native method Stack
与VM Stack类似,执行的是Native方法。Hotspot和VM Stack合二为一了。【共】堆 Heap
线程共享的空间,存放对象实例和数组(新版本不一定了),GC的主要区域,内存管理的最大区域。可以使用-Xmx -Xms进行控制【共】方法区 method Area
线程共享的空间
StackOverflow 请求的内存超过了已分配内存的深度
OutOfMemory 扩展空间时无法申请到足够的内存