欢迎使用CSDN-markdown编辑器

堆和栈上的变量生存

哈哈,没想到我居然开始写博客了,万事开头难,我就今天小小开个头。作为计算机零基础,才看了一个月java的小白,今天我要说说我学到的堆和栈。

heap和stack是内存中的两块地,其上种植和生存着各种变量、对象。

heap土地肥沃,阳光充沛,块头较大的对象就在这里安家。每当上帝new一个对象时,heap总是会开辟出一块地接收这位新的移民。

对象是一个家族,家族里有一种成员叫做成员变量,它也随着对象住在heap里。另一种呢,是可能出现的引用变量,它作为一种变量,却拥有和别的对象通话的能力,所以对象族长也把它安排过来和自己住。

stack的土地不像heap那样平原般广袤千里,它类似一种梯田,每当要开辟土地给新调用的方法时,总是从下到上。最上面方法完成功能了,深藏功与名,就会消失掉,带着它生的宝宝——局部变量一起离开。

啊,你要问heap上面对象要活多长?那就要看这个对象在外界还有没有心心念念牵挂着它的人了,就是引用这个对象的引用变量啦。如果没有人牵挂它了,GC——一个管理员,就会来请它离开这片土地。对象也会觉得活着没意思,黯然消失。

好啦,以上是我对heap和stack的理解啦!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值