在有状态 EJB 上的 @remove 注释示例中,带注释的方法使 bean 的实例变量无效。为什么?销毁 bean 肯定会破坏其内容,即任何变量?
谢谢,乔恩
在有状态 EJB 上的 @remove 注释示例中,带注释的方法使 bean 的实例变量无效。为什么?销毁 bean 肯定会破坏其内容,即任何变量?
谢谢,乔恩
将对象的所有字段设置为null
有两个有用的效果:
它提供了一个硬屏障,防止逻辑错误导致无效对象被重用。应用程序会崩溃,而不是默默地产生不正确的结果。
它通过从对象引用图中删除边来帮助 Java VM 垃圾收集器,从而提高整体性能。
您可以发布示例源代码吗?或者不要。null
不需要主动设置- 当 EJB 被销毁并很快被垃圾收集时,它引用的所有对象(当然前提是没有其他对它们的引用)也将被垃圾收集。
如果 ejbRemove(),实例的属性被擦除干净并且客户端仍然具有对实例的引用。客户端仍然可以访问相同的对象。这是不可取的。