【Keycel】对于栈内存和堆内存的初步理解

Java将内存分为栈内存和堆内存。栈内存主要存放基本类型变量和对象引用,生命周期短,随代码块执行结束而释放。堆内存用于存储new出来的对象和数组,由垃圾回收器自动清理。引用变量作为对象在栈中的标识,用于访问堆中的实际对象。

Java把内存划分成两种:栈内存和堆内存。
栈内存和堆内存都是java存放数据的地方,只不过存放的数据存在从属关系:
1.栈内存
栈内存用来存放在函数中定义的一些基本类型的变量对象的引用变量
当在一段代码块定义一个变量时,Java就在栈内存中为这个变量分配内存空间,当对应的代码区执行完后,栈内存会立即清理掉,为别的代码执行输出空间,通俗来讲:在栈内存中,来的快,去的也快,一执行完我就跑,我就消失不见,跟渣男渣女一样。
2.堆内存
堆内存用来存放new对象数组。垃圾回收站在空闲时会自动清理堆内存。在堆中产生了一个数组或对象后,在栈内存中定义的这个变量就成了数组或对象的引用变量。引用变量就相当于是为数组或对象起的一个名称,以后就可以在程序中使用栈中的引用变量来访问堆中的数组或对象。

以上就是我对栈内存和对内存的初步理解,随着理解的不断加深,我对栈内存和堆内存的认识才能真正透彻,感谢阅读!

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值