Java 性能
我遇到了一个问题,我需要遍历一个对象图并选择一个特定的属性值。我的原始解决方案缓存了需要应用的属性名称的链接列表,以便在对象图中从点a到点B。然后,我使用ApacheCommons遍历调用getProperty(对象bean,字符串名)的链表,直到到达点BJava 性能,java,performance,reflection,apache-commons,Java,Performance,Reflection,Apache Commons,我遇到了一个问题,我需要遍历一个对象图并选择一个特定的属性值。我的原始解决方案缓存了需要应用的属性名称的链接列表,以便在对象图中从点a到点B。然后,我使用ApacheCommons遍历调用getProperty(对象bean,字符串名)的链表,直到到达点B 我的问题是,与可能为每个步骤保存方法对象相比,这将如何执行。地产公司在引擎盖下做什么?它是否进行了大量的反射/繁重的工作?您不需要手动横切图形,因为commons beanutils的新版本还支持bean1.prop1.prop2之类的表达式
我的问题是,与可能为每个步骤保存方法对象相比,这将如何执行。地产公司在引擎盖下做什么?它是否进行了大量的反射/繁重的工作?您不需要手动横切图形,因为commons beanutils的新版本还支持bean1.prop1.prop2之类的表达式 关于性能,如果每个表达式只执行一次,则propertyutils实现很好,因为一定程度的反射是绝对必要的 如果每个表达式都被多次调用,则可以进行更真实的性能改进。然后缓存要执行的最终方法可以改善结果,因为您只对表达式执行一次大反射
如果您多次使用该表达式,您可以查看支持“编译表达式”的OGNL。我建议您实际阅读PropertyUtils代码,然后自己查看:)