采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
这两个图看得有点蒙啊,请教一下,图一的堆就是图二的堆区?还有图一的方法区、虚拟机栈、本地方法栈、程序计数器等都是在非堆区吗?
可以看下周志明的《深入理解 java虚拟机》
可以看一下这个:http://www.ruanyifeng.com/blog/2018/01/assembly-language-primer.html,虚拟机类似于真实的物理机,物理机是如何执行程序的虚拟机也是类似的。
看下这个:https://www.imooc.com/article/47149
老实说还是不明白,在网上查了不少相关资料,都是分开介绍的。虽然运行时数据区是一种规范,但是它也存储了一些数据,既然能存储数据,那么就应该有与之相对应的内存。看了老师的手记之后,得知,方法区存储的内容是在metapace(jdk8)里。但是虚拟机栈、本地方法栈、程序计数器,这些区域存放数据所占的内存在哪呢?不在虚拟机里面?是计算机本机内存吗?
运行时数据区并不是存储东西用的,虚拟机栈、本地方法栈、程序计数器都不是存储数据的,都是执行程序用的。程序计数器一般用来存储下一条指令的内存地址,cpu从这个地址去读取下一条计算机指令
登录后可查看更多问答,登录/注册
系统掌握线上性能监控与 GC调优,线上代码调试
1.5k 10
903 8
914 8
1.6k 7
1.1k 7