,栈帧信息(返回地址,动态连接,附加信息) 图片从Java程序来看:在调用堆栈的所有方法都同时处于执行状态(比如:main方法中调用其他方法)从执行引擎来看:当前线程只有处于栈顶的栈帧才是当前栈帧,此栈帧对应的方法为当前方法...(程序计数器的值)异常调用完成: 遇到异常未捕获(未搜索到匹配的异常处理器)以异常调用完成方式退出方法,不会在栈帧中保存信息,通过异常处理器来确定附加信息增加一些《Java虚拟机规范》中没有描述的信息在栈帧中....StackOOM.main(StackOOM.java:25) */操作系统为(JVM)进程分配的内存大小是有效的,这个内存再减去堆内存,方法区内存,程序计数器内存,直接内存,虚拟机消耗内存等,剩下的就是虚拟机栈内存和本地方法栈内存此时增加了线程分配到的栈内存大小...,直接从本地内存分配任意内存本地方法库本地方法栈中登记native修饰的方法,由执行引擎来加载本地方法库总结 图片本片文章详细说明jvm运行时内存区域以及可能发生的内存溢出异常线程私有的程序计数器保存要执行的字节码指令...,程序计数器不会发生内存溢出异常线程私有的栈服务于方法,每个方法代表一个栈帧,方法的调用与调用结束标志着栈帧的入栈与出栈,栈帧中的局部变量表、操作数栈、方法返回地址、动态连接(运行时常量池引用)、附加信息是为了帮助更好的服务方法