黑马程序员技术交流社区
标题:
栈内存和堆内存之分?
[打印本页]
作者:
黑马新人
时间:
2014-11-23 14:10
标题:
栈内存和堆内存之分?
栈内存中存储的是方法中的变量,当程序结束就释放。而堆内存中存储的是对象,只有不被引用时才会销毁。。是这样吗
作者:
迷失的小Z
时间:
2014-11-23 15:49
不同代码块中的变量的生命周期是不一样滴,堆内存中的对象没有引用是会便成垃圾滴,会被自动回收,当然也可以被手动回收……
作者:
依米阳光
时间:
2014-11-23 22:30
共同学习:
1.所有的基本数据类型(值类型)全部存储在栈里面。
2.引用类型,他的实体存储在堆里面,而他的引用存储在栈里面。
3.对象的所有属性的值如果不是单例或者静态的,都存储在堆里面。
4.静态类型的成员一般存储在静态存储区域中。
垃圾回收:对于内存回收机制系统都有自己的算法,即使当前对象没有任何地址指向它,这个对象所占用的内存也不会立刻被垃圾回收器回收。
作者:
theking
时间:
2014-11-24 00:16
水水贴!又学到了一点知识!
作者:
夜海
时间:
2014-11-24 00:21
栈内存中变量是方法结束就消失吧 。。。。。
作者:
米家小九
时间:
2014-11-24 06:24
共同学习
作者:
Dr.Sparta
时间:
2014-11-24 07:34
大神们回答的很详细了,谈一点自己的看法,堆里存的是实体,有地址值,不用时jvm会调用gc进行回收(或手动回收);而栈中的存的大都是局部变量,用完会自动释放。
作者:
scoto263
时间:
2014-11-24 09:37
依米阳光 发表于 2014-11-23 22:30
共同学习:
1.所有的基本数据类型(值类型)全部存储在栈里面。
2.引用类型,他的实体存储在堆里面,而他的引 ...
大神回答的挺精辟的,学习了。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2