JVM运行时数据区
2021-04-24 18:57:04 0 举报
JVM运行时数据区,根据理解手绘,有不正确的地方还望海涵
作者其他创作
大纲/内容
javac
当前栈帧
栈帧
JVM运行时数据区
里面存放是变量。在虚拟机中,方法通过一个个的线程来运行,每个线程里面又会有一个栈,每当执行一次调用,栈中就会压入一个栈帧,里面存放的就是调用方法中的局部变量、方法的返回地址和参数、上下文引用等信息,当方法执行完,栈帧就弹出。特点:先进后出,每次执行调用,都是在栈的上面压入栈帧,当前执行的叫当前栈帧
每个线程都会创建一个程序计数器,里面存放了下一条指令的地址,为了确保当某个线程从其他状态恢复到运行状态时能按照正常的顺序执行,同时他也是每个线程私有的,因为要确保其他线程不会影响
运行时数据区
堆
里面存放的是native修饰的方法,当栈调用本地方法栈中的方法时,不会压入自己的栈内,而是会简单的动态链接本地方法栈并直接调用参考:https://www.cnblogs.com/wade-luffy/p/5813747.html
里面存放了一个个的对象,new Demo()被所有的线程共享
PC寄存器
栈
本地方法栈
类装载器
通过
方法区
java高级语言
类中的构造方法、字段、常量池、普通方法等都存在这里
class文件16进制
0 条评论
下一页