DynaBeans与代码生成JavaBeans的性能影响

DynaBeans与代码生成JavaBeans的性能影响,java,code-generation,javabeans,apache-commons-beanutils,Java,Code Generation,Javabeans,Apache Commons Beanutils,我必须在我的应用程序中使用JavaBeans 该应用程序是一个配置驱动的应用程序。根据配置的不同,需要不同的JavaBeans类 一个选项是,根据配置,我使用代码生成器生成JavaBean类 另一个听起来很吸引人的选择是使用ApacheBeanutils。它使我从代码生成的一个额外步骤中解脱出来 您能帮我了解一下使用Dynabeans与生成的JavaBeans的性能和内存含义吗。 有没有比DynaBeans更好的替代品 在这两种情况下,我稍后将使用ApacheBeanutils调用gette

我必须在我的应用程序中使用JavaBeans

  • 该应用程序是一个配置驱动的应用程序。根据配置的不同,需要不同的JavaBeans类
  • 一个选项是,根据配置,我使用代码生成器生成JavaBean类
  • 另一个听起来很吸引人的选择是使用ApacheBeanutils。它使我从代码生成的一个额外步骤中解脱出来
您能帮我了解一下使用Dynabeans与生成的JavaBeans的性能和内存含义吗。 有没有比DynaBeans更好的替代品


在这两种情况下,我稍后将使用ApacheBeanutils调用getter/setter

我一直在研究
BeanUtils
实现
BasicDynaBean
,并得出了以下关于与代码生成的JavaBean进行比较的结论

记忆
  • BasicDynaBean
    使用
    HashMap
    存储键/值。如果有1000个sme DynaBean实例,那么会浪费大量内存,因为每个实例中都会再次存储密钥。因此,代码生成JavaBean会消耗更多内存,如果要在内存中存储大量Dynabean实例,则不建议这样做
速度
  • 为了访问不同的字段,它调用
    HashMap
    上的
    get/put
    方法。因此,它比代码生成的Java bean更快,因为在那里我必须使用反射访问getter/setter方法