1、java声明的数据类型在java内存中的使用情况
基本数据类型和引用数据类型使用的内存情况是不同的,基本数据类型只在栈中开辟内存,一旦使用结束(例如函数或方法内的数据),栈中的内存就会自动释放,然而引用数据类型会将对象存放在栈中,而将真正的值存放在堆中,不可以直接操作堆内存中的数据空间,只能通过堆内存中的值对应的地址赋值给栈中的对象,通过栈中的对象来操作数据,所以栈中的对象记录的是堆中数据的地址。
2、堆中数据特点
(1)堆中数据都会有一个对应的地址;
(2)堆中数据声明后,都会有默认值,默认值取决于数据元素类型(此处以数组为例);
(3)堆中数据在不被使用变成垃圾的情况下,java虚拟机会启动垃圾回收机制,不定时的将堆内存中不被使用的数据清除。
3、参考文献
http://blog.csdn.net/yuanjieseo/article/details/49275921
这个博客解释的挺清楚的,我只是写个大概,有兴趣的可以看看,不赘述了。
如有观点错误,欢迎讨论指正,谢谢。