【问题标题】:Garbage collection of null object returned from RMI methods从 RMI 方法返回的空对象的垃圾收集
【发布时间】:2016-06-13 08:05:40
【问题描述】:


我有一个将对象返回给客户端的 RMI 方法。当方法完成时,另一个 RMI 对垃圾收集器的调用是隐式的。如果我返回 null 对象,GC 还会被调用吗?我在任何地方都找不到任何确认这一点的文本。
相关:Does variable = null set it for garbage collection

【问题讨论】:

    标签: java garbage-collection rmi


    【解决方案1】:

    没有空对象这样的东西。有一个空的引用。如果你提到没有垃圾收集的情况。

    当方法完成后,另一个 RMI 对垃圾收集器的调用被隐式调用。

    我不知道你的意思。如果您指的是 DGC,它不会那样工作。如果不是,那你就错了。

    【讨论】:

    • 我正在拦截 RMI 调用,我收到了这些调用:sun.rmi.transport.DGCImpl_Stub[0:0:0, 2]: java.rmi.dgc.Lease dirty(java.rmi.server.ObjID[], long, java.rmi.dgc.Lease) 我假设是 DGC,正如你所提到的。这究竟是什么?请帮我理解。非常感谢。
    • 另外,是否可以避免这个调用?目前通过我的 RMI 方法,我返回:return (new reponse_obj(1,true,null)。创建一个本地对象并返回它会解决这个问题吗?
    • DGC 是 分布式 垃圾收集,在 RMI Specification 中定义。我不明白你的最后一个问题。您必须发布一些代码。在您的问题中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-08
    • 2013-01-22
    • 2021-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多