JAXB: ненужный вызов метода - PullRequest
0 голосов
/ 30 января 2012

Я использую JAXB для маршала. Я заметил, что когда я выполняю маршалинг объекта внутри другого объекта, метод для внутреннего объекта (например, у объекта A есть поле типа B. Объект B имеет получатель для строки) - этот метод вызывается дважды получатель для строки). Один раз для проверки, если не ноль (через метод hasValue), и другой раз для получения фактического значения (через writeLeafElememnt).

Это кажется ужасно неэффективным. Есть мысли о том, как обойти эту функциональность?

Большое спасибо.

1 Ответ

1 голос
/ 30 января 2012

Во-первых, если все, что делает метод получения, возвращает значение поля, то это почти не влияет на производительность.JVM чрезвычайно хороша для оптимизации такого рода вещей.

Если вы действительно хотите избежать этого, вы можете аннотировать поля напрямую, а не комментировать методы получения.Однако это никак не повлияет на производительность.

Это классический пример преждевременной микрооптимизации.Если вы думаете, что-то медленно, то измерьте это.Если это горячая точка производительности, и только тогда, что-то с этим делать.

...