为什么 LoadableDetachableModel.detach 设置 transientModelObject = null?

Why does LoadableDetachableModel.detach sets transientModelObject = null?

LoadableDetachableModel 中是 transientModelObject 瞬变场。为什么分离方法设置

transientModelObject=null

我问这个是因为它不会连载

通常您的组件将保留在内存中(如果容器没有将会话序列化到磁盘),因此使引用无效可以最大限度地减少内存消耗。

为什么在下次请求之前不需要它时浪费大量内存?

原因是因为 Page 实例作为活动(非序列化)对象保存在 http 会话中。 LoadableDetachableModel 的合约说它的 modelObject 将在请求周期内可用。如果它没有在 detach() 中明确地 null 化,那么它在下一个请求中仍然可用。