java对象为null啥意思 Java对象使用后设置为null会减少内存占用吗?
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
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。