#青训营笔记创作活动#
2 月 7 日 打卡 Day25
JVM 运行时数据区域划分为以下 5 部分:
程序计数器(Program Counter Register)
程序计数器里面保存了当前线程执行的行号,这样当 CPU 切换到当前线程时,才能接着上次执行的位置,继续执行。
Java虚拟机栈(Java Virtual Machine Stacks)
其中Java 虚拟机栈是管 Java 程序运行的,它保存的是方法的局部变量、方法执行中的部分结果,并参与方法的调用和返回。
本地方法栈(Native Method Stack)
本地方法栈就是Native Stack,与Java虚拟机栈所发挥的作用是非常相似的,其区别不过是虚拟机栈为虚拟机执行Java方法(也就是字节码)服务,而本地方法栈则是为虚拟机使用到的Native方法服务。
Java 堆(Java Heap)
堆是线程共享的,程序中所有类实例和数组的内存都存储在此区域,它在 Java 虚拟机启动时就会创建。
方法区(Methed Area)
方法区用于存储每个类的结构,包括运行时常量池、静态变量、字段和方法数据。
展开
评论