java,使用new创建对象,并将该对象的引用返回...对象依然存在,不会被垃圾回收,是什么意思啊?
"我们在方法内部使用new创建对象,并将该对象的引用返回。如果该返回被一个引用接收,由于对象的引用不为0,对象依然存在,不会被垃圾回收。"...
"我们在方法内部使用new创建对象,并将该对象的引用返回。如果该返回被一个引用接收,由于对象的引用不为0,对象依然存在,不会被垃圾回收。"
展开
2个回答
展开全部
User u = new User();
如上面代码,简单说就是new User()的时候,会返回一个地址,并且将地址赋值给引用u,当这个引用被u持有的时候,java会认为这个对象时有用的,不会回收对象,如果你之后执行了好比说:
u = null;
//或
u = new User();
这样的代码,那么这个u就不在持有之前对象的地址了,变成了空或者新的地址,这个时候如果没有其他引用持有了之前对象的地址,之前的对象就没有访问方法了,那么gc(垃圾回收器)运行的时候会认为这个对象没用了,将他从内存中释放掉。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询