主页传送门: 传送
Java 虚拟机的内存空间由 堆、栈、方法区、程序计数器和本地方法栈五部分组成。
JVM(Java Virtual Machine)内存结构包括以下几个部分:
图示如下:
JDK 1.8 同 JDK 1.7 比,最大的差别就是:元数据区取代了永久代。元空间的本质和永久代类似,都是对 JVM 规范中方法区的实现。不过元空间与永久代之间最大的区别在于:元数据空间并不在虚拟机中,而是使用本地内存。
程序计数器(PC 寄存器)是一块较小的内存空间,它是一个专用的寄存器,用于存储当前正在执行的指令在指令序列中的位置。
public class ProgramCounterExample {
public static void main(String[] args) {
ProgramCounter pc = new ProgramCounter();
pc.increment();
System.out.println(pc.getValue()); // 输出 1
pc.decrement();
System.out.println(pc.getValue()); // 输出 0
pc.setValue(pc.getValue() + 1);
System.out.println(pc.getValue()); // 输出 1
}
}
class ProgramCounter {
private int value;
public ProgramCounter() {
value = 0;
}
public void increment() {
value++;
}
public void decrement() {
value--;
}
public int getValue() {
return value;
}
public void setValue(int value) {
this.value = value;
}
}
如果喜欢的话,欢迎 关注 点赞 评论 收藏 一起讨论 你的支持就是我✍️创作的动力!