2016 - 2025

感恩一路有你

java内存分配 Java对象使用后设置为null会减少内存占用吗?

浏览量:1951 时间:2021-04-06 20:57:47 作者:admin

Java对象使用后设置为null会减少内存占用吗?

首先科普一下,Java对象是引用变型的,它会用两种内存区:堆内存、栈内存。Java对象是存储在堆内存中的,而对此对象的引用(理解为变量)存储在栈内存中。

比如:String str=new String("字符串") 这行代码用的是两块内存,new String("字符串") 存在堆内存中,str 变量存储在栈内存中。

当我们设置对象为 null 后(即:str=null),此时str变量与堆内存中的数据就断开联系了,GC算法会在必要时回收 str 及堆内存中的对象,但这个GC任何回收我们是无法干预的。

总结说就是:Java对象在使用后设置为null,在GC对此对象回收后,内存会相应减少,但不是说将一个对象引用设置为null后内存就立马释放了。GC会在合适的时间来回收垃圾数据。

java内存分配 java java程序太占内存

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。