发布于个人公众号,打开微信,搜索
MelodyJerry
即可
本文由作者原文 [JVM|内存模型] Java虚拟机的内存模型?也就这7个而已 修改而来,可点击左下角阅读原文。
JVM内存模型/内存空间
Java虚拟机JVM运行起来,就会给内存划分空间,这块空间成为运行时数据区。
运行时数据区
主要划分为以下 6个
:
① 程序计数器
(Program Counter Register)
- 一块较小的内存空间,可以
看作是当前线程所执行的字节码的行号指示器
线程私有
的内存- 值得注意的是:《Java虚拟机规范》中,
唯一
一个没有规定任何OutOfMemoryError情况
的区域!!!
程序计数器
也可以称为PC寄存器
,通俗的讲就是指令缓存,它主要用来缓存当前程序执行的下一条指令的地址,CPU根据这个地址找到将要执行的指令。这个寄存器是JVM内部实现的,不是物理概念上的计数器,不过和JVM的实现逻辑一样。
② Java虚拟机栈
(VM Stack)
Java方法执行的线程内存模型
每一个线程
运行起来的都会对应一个栈(