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