2016 - 2024

感恩一路有你

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

浏览量:2466 时间:2021-03-11 12:34:31 作者: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怎么判断对象为null?

public static void main(String[] args) {//person是对象newPerson的引用Person person = new Person()//判断是否为空if(person==null){//如果为空 打印对象为空System.out.println("对象为空")}else{//如果为不为空 打印personSystem.out.println("对象为" person)}}

java对象为null啥意思 java对象为null回收机制有 java不等于null

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