gpt4 book ai didi

java - DynaBeans 与 CodeGenerate JavaBeans 性能影响

转载 作者:行者123 更新时间:2023-12-02 07:35:43 32 4
gpt4 key购买 nike

我必须在我的应用程序中使用 JavaBean。

  • 该应用程序是一个配置驱动的应用程序。根据配置,将需要不同的 JavaBeans 类。
  • 一种选择是根据配置,我使用代码生成器来生成 JavaBean 类。
  • 听起来很有吸引力的另一个选项是使用 Dynamic Beans来自 Apache Beanutils。它使我省去了代码生成的额外步骤。

您能帮我了解一下使用 Dynabeans 与生成的 JavaBeans 对性能和内存的影响吗?有比 DynaBeans 更好的替代品吗?

在这两种情况下,我稍后都会使用 Apache BeanUtils 来调用 getter/setter。

最佳答案

我一直在研究 BasicDynaBeanBeanUtils 实现,并就与代码生成的 JavaBean 的比较得出以下结论。

内存

  • BasicDynaBean 使用 HashMap 来存储键/值。如果有 1000 个 DynaBean 实例,那么会浪费大量内存,因为每个实例中都会再次存储 key 。因此,代码生成 JavaBean 会消耗更多内存,如果您要在内存中存储大量 Dynabean 实例,则不建议这样做。

速度

  • 要访问不同的字段,它会调用 HashMap 上的 get/put 方法。因此它比代码生成的 Java Bean 更快,因为我必须使用 reflection 访问 getter/setter 方法

关于java - DynaBeans 与 CodeGenerate JavaBeans 性能影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12260113/

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