Java虚拟机内存模型及分区

JVM学习地址:

https://blog.csdn.net/u013898617/article/details/78824047

https://blog.csdn.net/ZhongGuoZhiChuang/article/details/53940562

JVM内存的分区说明:

https://blog.csdn.net/Zz110753/article/details/70170339

线程私有内存区:

1-程序计数器(Program Counter Register):

  程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行到了第几行,可以理解为是当前线程的行号指示器。

  字节码解释器在工作时,会通过改变这个计数器的值来取下一条语句指令。
  每个程序计数器只用来记录一个线程的行号,所以它是线程私有(一个线程就有一个程序计数器)的。
  如果程序执行的是一个Java方法,则计数器记录的是正在执行的虚拟机字节码指令地址;如果正在执行的是一个本地(native,由C语言编写完成)方法,则计数器的值为Undefined,由于程序计数器只是记录当前指令地址,所以不存在内存溢出的情况,因此,程序计数器也是所有JVM内存区域中唯一一个没有定义OutOfMemoryError的区域。

原文地址:https://www.cnblogs.com/lh-masteryi/p/10173671.html