JVM如何识别引用为强引用?


求问:JVM如何识别出一个对象是弱引用或强引用?
为什么JVM发生内存回收的时候不会回收强引用,它是如何判别出该对象为强引用的?
#面经#
全部评论
虚引用就像没引用一样,何时都会被gc,辅助finalize,弱引用gc就会快速回收,软引用在内存不足时回收,强引用即使oom也不gc但是没有东西指向他就gc了
点赞 回复 分享
发布于 2018-05-21 14:34
反正虚的可以分辨,感觉可能是引用的头不同
点赞 回复 分享
发布于 2018-05-21 13:38
或者个人想法是不是弱引用单独的用一个数据结构存储,发生gc时直接回收,而强引用就按照gc root规则回收?有大佬帮忙解答?
点赞 回复 分享
发布于 2018-05-21 12:16
好问题,我也期待一下能有大神从对象存储的数据结构来回答,比如是不是对象含有一个引用级别标识符还是说通过其它思路。
点赞 回复 分享
发布于 2018-05-21 12:14
强引用应该在引用链上吧
点赞 回复 分享
发布于 2018-05-21 09:27
不是提供了关键字WeakReference作为弱引用吗,感觉应该是按关键字吧来判读的吧
点赞 回复 分享
发布于 2018-05-20 23:03
第一个问题。怎么区别强弱饮用,我觉得你可以多看看博客或者深入理解java虚拟机。这种问题,你自己是完全可以查得到的。 第二个问题。并不是强饮用就一定不会被gc。这点一定要搞清楚。不要理解偏了。
点赞 回复 分享
发布于 2018-05-20 23:00

相关推荐

04-09 09:47
门头沟学院 Java
Arbelite_:2-3k,这工资还不如去摇奶茶
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务