2012-01-30 13 views
0

私はマーシャルにJAXBを使用しています。 私は、別のオブジェクトの内部にオブジェクトをマーシャリングするとき、内部オブジェクトのメソッド(たとえば、オブジェクトAにはタイプBのフィールドがあります)は、オブジェクトBにはStringのゲッターがあります。 Stringのゲッター)ヌルでないかどうか(hasValueメソッド経由)と実際の値を得るもう一つの時間(writeLeafElememntを介して)をチェックするために一度。JAXB:メソッドへの不要な呼び出し

これは非常に非効率的です。どのようにこの機能を回避するための任意の考えですか?

ありがとうございました。

+0

JAXB(JSR-222)のどの実装を使用していますか:Metro(リファレンス実装)、EclipseLink MOXy、Apache JaxMe? –

答えて

1

最初に、getterメソッドが実行しているすべてのフィールド値が返されている場合、パフォーマンスにほとんど影響しません。 JVMはこの種のものを最適化するのに非常に優れています。

しかし、実際には避けたい場合は、getterメソッドに注釈を付けるのではなく、フィールドに直接アノテーションを付けることができます。しかし、パフォーマンスには何の違いもありません。

これは早すぎるマイクロ最適化の古典的な例です。あなたが何かが遅いと思うなら、それを測定してください。それがパフォーマンスのホットスポットならば、その時だけ、それについて何かしてください。

関連する問題