当前位置: 首页 > 图灵资讯 > java面试题> 金三银四精选java面试题-如何判断对象仍然存活?

金三银四精选java面试题-如何判断对象仍然存活?

来源:图灵教育
时间:2023-12-01 09:28:25
 

如何判断对象仍然存活?

常见的判断对象是否存活的方法有两种:

  • 引用计数法:该方法通过对对象进行引用计数,即记录对象被引用的次数。当引用计数为0时,表示对象没有被引用,可以被回收。但是引用计数法无法解决循环引用的问题,导致内存泄漏

  • 可达性分析法:常见的垃圾回收算法中,主要采用的是可达性分析算法。该算法从一组称为"根"的特定对象(如全局变量、活动线程等)开始,通过追踪对象之间的引用关系形成引用图,然后检查哪些对象可以从"根"对象访问到。如果一个对象可以从"根"对象访问到,那么它就被认为是存活的。而对于无法从"根"对象访问到的对象,则被判定为不再存活,垃圾回收器将对其进行回收。