2

java.util.GregorianCalendar軽量オブジェクトですか?言い換えれば、各リクエストで Web アプリケーション設定でコンストラクターを呼び出しても、わずかなパフォーマンス ペナルティしか得られないのでしょうか?それとも、アプリケーションで共有するためにオブジェクトのコピーをキャッシュするのにお金がかかるのでしょうか?

4

3 に答える 3

5

TimeZone不変のandをキャッシュ/共有することで、GregoianCalendar のパフォーマンスを向上させることができますLocale

java GregorianCalendar は軽量オブジェクトですか?

軽量とは、つまり; コンクリートでできた風船のように。;)

各リクエストでWebアプリケーション設定でコンストラクターを呼び出すと、パフォーマンスがわずかに低下するだけです

あなたがしている他のすべてのことと比較して、それは比較的些細なことかもしれません。アプリケーションの CPU プロファイリングを行うまではわかりません。

アプリケーションによる共有使用のためにオブジェクトのコピーをキャッシュすることは有料ですか?

オブジェクトを不変として扱う場合のみ (あまり役に立たないかもしれません)

共有された変更可能な GregorianCalendar を使用すると、実行が少し遅くなるよりもはるかに悪いバグが発生する可能性があります。

ところで: JodaTime の使用を検討します。わずかに高速ですが、一般的に使いやすいです。

于 2012-10-03T09:32:17.160 に答える
1

JODA 日時を使用します。Java 8でも追加されました。

于 2012-10-03T09:31:27.497 に答える
1
于 2018-02-06T02:23:19.947 に答える