BeanUtils与ReflectionToStringBuilder的性能(用于Bean类)
|
我的Web应用程序中有很多Java Bean类,我试图找到一种在这些Bean中实现
toString()
方法的简单方法。 “ 0”方法将用于记录整个应用程序,并应打印Bean中所有属性的“属性-值”对。
我正在尝试两种选择:
1.BeanUtils.describe()
(Apache commons-beanutils)
2.ReflectionToStringBuilder.toString()
(Apache commons-lang)
由于这是一个预期具有高流量的Web应用程序,因此该实现必须轻巧且不会影响性能。 (内存使用,处理器使用等是主要考虑因素)。
我想知道其中哪一个根据上述标准效果更好。据我所知,反射是一项繁重的工作,但是更多的细节和对这两个选项的深入了解将有助于我选择最佳解决方案。
没有找到相关结果
已邀请:
4 个回复
贡炮逗握惫
方法中使用
。在生产环境中,我们在运行时没有任何问题。当然,我们很少使用
方法。 我们也使用
,但还有其他目的。
使用
保留已对其进行自省的Bean的内部缓存。看来这将使它比其他具有性能上的优势,但是在ReflectionToString源代码中有一点点探索,并且由于它最终依赖于
的实现,因此缓存也在那里起作用。 这两种方法看起来都是可行的选择,但是
将返回Map属性,其中ReflectionToString将返回格式化的String。我猜这取决于您要对输出执行的操作。 我建议,如果您的应用程序严重依赖于在对象上调用“ 0”,那么使用特定的实现可能会更有利。
死搭胯
膛嵌墒缅欠
烷刨画颠离