0

在有状态 EJB 上的 @remove 注释示例中,带注释的方法使 bean 的实例变量无效。为什么?销毁 bean 肯定会破坏其内容,即任何变量?

谢谢,乔恩

4

3 回答 3

3

将对象的所有字段设置为null有两个有用的效果:

  • 它提供了一个硬屏障,防止逻辑错误导致无效对象被重用。应用程序会崩溃,而不是默默地产生不正确的结果。

  • 它通过从对象引用图中删除边来帮助 Java VM 垃圾收集器,从而提高整体性能。

于 2012-05-06T19:32:04.833 回答
2

您可以发布示例源代码吗?或者不要。null不需要主动设置- 当 EJB 被销毁并很快被垃圾收集时,它引用的所有对象(当然前提是没有其他对它们的引用)也将被垃圾收集。

于 2012-05-06T19:27:59.450 回答
0

如果 ejbRemove(),实例的属性被擦除干净并且客户端仍然具有对实例的引用。客户端仍然可以访问相同的对象。这是不可取的。

于 2014-07-16T09:24:18.607 回答