1.程序计数器

是当前线程所执行的字节码的行号指示器,字节码解释器工作时通过改变计数器的值来选取下一条需要执行的字节码指令。
正在执行 java 方法的话,计数器记录的是虚拟机字节码指令的地址(当前指令的地址) 。如果还是 Native 方法,则为空。

2.虚拟机栈

每个Java方法执行时都会创建一个栈帧到虚拟机栈中。
一个栈帧包括局部变量表,操作栈,动态链接,方法出口等信息。
写递归程序出错时时的栈溢出,就是发生在这里
在这里插入图片描述

3.本地方法栈

与虚拟机栈相同,不过是服务于Native方法的。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐