在写我对学习java对象类型的运用前,让我们先看一张图,此图我是在下面这个网站找到的: https://blog.youkuaiyun.com/u011972171/article/details/80398771

上图是一个JVM内存模型图,它是用来存储JVM运行时数据的。此图从上向下,依此是:栈区 --> 堆区 --> 方法区。
那么,这些内存区都是用来做什么的呢?下面我们就一个一个的浅显的讲一讲我的理解。
1)、栈区(stack area) —— 用来存放方法执行时的当前方法所使用的局部变量数据和操作数栈(operand stack);操作数栈在执行字节码指令的时候使用,它和通用寄存器在 native CPU 中使用的方式类似。大多数 JVM 字节码通过 pushing,popping,duplicating,swapping,或生产消费值的操作使用操作数栈。(摘抄自:http://blog.51cto.com/7317859/2105402)
stack栈的使用者是线程,每一个线程都会有一个唯一的栈。stack不仅存储方法执行时所需要的局部变量,在栈中还存放着方法执行时的一些环境信息。
未完……
关于方法执行的更详细的信息请参见:https://blog.youkuaiyun.com/rusbme/article/details/51217620
本文深入探讨了JVM内存模型,包括栈区、堆区和方法区的功能与作用。栈区用于存储局部变量和操作数栈,每个线程拥有独立的栈。堆区是对象实例的存储地,而方法区则保存类的信息。文章引用了多个技术博客作为参考资料。
1350

被折叠的 条评论
为什么被折叠?



