gpt4 book ai didi

java - 什么时候需要在 wicket 中使用 LDM?

转载 作者:行者123 更新时间:2023-11-30 05:53:22 25 4
gpt4 key购买 nike

我一直在阅读关于调整 wicket session 大小的内容,我发现建议使用 LoadableDetachableModel 来避免让模型永远存在。属性模型(Property和PropertyCompoundModel)这么贵吗?

何时使用 LDM 或属性模型?

最佳答案

这始终取决于您要实现的目标。因此,了解成本是什么很重要。

在请求之间,Wicket 通常会序列化您的页面对象及其引用的所有内容。这包括页面上的所有组件及其所有模型。唯一不会发生这种情况的情况是页面为 stateless。 .

大多数模型实现都包含对底层模型对象的非 transient 引用,因此如果您的模型包含对大对象的引用并且页面不是无状态的,则会导致序列化时间的开销,更重要的是,内存 session 的足迹。

LoadableDetachableModel 的工作方式不同,它只包含对底层模型对象的 transient 引用,因此当它被序列化时,模型对象不是。这样做的缺点是您必须为每个请求重建模型对象。

所以您的问题实际上是这样的:使用传统模型的成本是否超过 LoadableDetachableModel 的成本?正如已经提到的,如果您的模型对象来自数据库,则几乎总是值得使用 LDM。

您必须记住的另一件事(也是支持 LDM 的有力论据)是模型可以链接。因此,您仍然可以使用由 LDM 支持的 CompoundPropertyModel

关于java - 什么时候需要在 wicket 中使用 LDM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10622692/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com