Java引用对象在堆、栈内存中的变化
最近又重新开始学习Java基础,再次学习也对引用、对象使用时内存变化有了进一步的了解。
这里先对Java虚拟机中堆栈功能简单总结;
1、对象主要存放在堆内存中;方法和属性主要存放在栈内存中。
2、栈是运行时单位,用来解决程序运行时的问题,堆是存储单位,解决数据存储的问题。
3、堆伴随着JVM的启动而创建。
下面是一段程序执行过程,对象和引用在内存中的变化情况图,其他就不多说,图中有解释。(因为是根据自己的理解画的图,有发现不对的欢迎指出)
哈哈!图画的有点乱~