程序员的成长之路
互联网/程序员/成长/职场
阅读本文大概需要 1.6 分钟。
推荐下我的另外一个公众号【码农西游】,每天会分享 Java面试题解析 和 IT趣图,文末二维码可直接扫码关注。
Java 集合 22 题【
已完结
】
JVM 与调优 21 题【进行中】
▌题目
14、什么是分布式垃圾回收(DGC)?它是如何工作的?
▌解析
概念:
1)Java虚拟机中,一个远程对象不仅会被本地虚拟机内的变量引用,还会被远程引用。
2)只有当一个远程对象不受到任何本地引用和远程引用,这个远程对象才会结束生命周期。
说明:
1)服务端的一个远程对象在3个地方被引用:
-
服务端的一个本地对象持有它的本地引用。
-
服务端的远程对象已经注册到rmiregistry注册表中,也就是说,rmiregistry注册表持有它的远程引用。
-
客户端获得远程对象的存根对象,也就是说,客户端持有它的远程引用。
2)服务端判断客户端是否持有远程对象引用的方法:
-
当客户端获得一个服务端的远程对象的存根时,就会向服务器发送一条租约(lease)通知,以告诉服务器自己持有了这个远程对象的引用了。
-
客户端定期地向服务器发送租约通知,以保证服务器始终都知道客户端一直持有着远程对象的引用。
-
租约是有期限的,如果租约到期了,服务器则认为客户端已经不再持有远程对象的引用了。
关注「 码农西游 」加星标,不错过面试题解析
(商务合作联系:cxydcczl)
朕已阅