我正在使用JAXB进行编组。 我注意到当我在另一个对象内编组一个对象时,内部对象的方法(例如:对象A有一个B类型的字段。对象B有一个字符串的getter) - 这个方法被调用两次( String的getter。一次检查是否为null(通过hasValue方法)和另一次获取实际值(通过writeLeafElememnt)。
这看起来非常低效。有关如何绕过此功能的任何想法?
非常感谢。
答案 0 :(得分:1)
首先,如果所有getter方法都在返回一个字段值,那么它对性能的影响几乎为零。 JVM非常擅长优化这类事情。
但是,如果你真的想避免它,你可以直接注释字段,而不是注释getter方法。但是,它对性能没有任何影响。
这是过早微优化的典型例子。如果你认为某些事情很慢,那就去衡量吧。如果它是一个性能热点,那么,只有这样,做一些事情。