发动态

没有新消息

更多内容

如何判断一个对象是否存活?

杨财辉

有一个叫GC ROOT的东西可以去了解一下,判断对象是否存活,存活也就意味着有没有地方在使用这个对象。比较直观的方法有两种: 1,你去把每个对象都看一遍,如果有引用指向它,那它就存活,不能被GC回收。这是用的一个叫引用计数器的东西实现的,每个对象都有一个,它被引用一次,计数器就+1。这也就造成了对象互相引用会出现问题的情况,虽然没有地方引用它,但是它跟另外一个对象互相引用,所以它两的引用计数器都不为0。 2,所以Java用的是遍历堆栈通过引用来找对象的机制,找到了就保留,没找到就GC。 看过一篇不错的文章分享给你:https://www.cnblogs.com/java-spring/articles/9855129.html

3 赞+1
0
评论

0 条评论

暂无评论,快来写下您的评论

热门职位推荐
热门公司推荐