JVM内存区域划分相关原理详解
程序计数器,也有称作为PC寄存器。因此,可以这么说,程序计数器是每个线程所私有的。事实上,Java栈是Java方法执行的内存模型。当方法执行完毕之后,便会将栈帧出栈。因此可知,线程当前执行的方法所对应的栈帧必定位于Java栈的顶部。对于所有的程序设计语言来说,栈这部分空间对程序员来说是不透明的。 由于每个线程正在执行的方法可能不同,因此每个线程都会有一个自己的Java栈,互不干扰。在JVM规范中,并没有对本地方发展的具体实现方法以及数据结构作强制规定,虚拟机可以自由实现它。 Java中的堆是用来存储对象本身的以及数组。因此这部分空间也是Java垃圾收集器管理的主要区域。另外,堆是被所有线程共享的,在JVM中只有一个堆。
下载地址
用户评论