[解決済み】System.currentTimeMillis() vs. new Date() vs. Calendar.getInstance().getTime()について)
2022-04-05 09:12:19
質問
Javaでは、次のように使用すると、パフォーマンスとリソースにどのような影響がありますか?
System.currentTimeMillis()
vs.
new Date()
vs.
Calendar.getInstance().getTime()
私の理解では
System.currentTimeMillis()
が最も効率的です。しかし、ほとんどのアプリケーションでは、人間にとって意味のあることをするためには、そのlong値をDateやそれに類するオブジェクトに変換する必要があります。
解決方法は?
System.currentTimeMillis()
は、明らかに最も
効率的
はオブジェクトの生成すら行わないので
new Date()
は本当にlongについての薄いラッパーに過ぎないので、遠く及ばないのです。
Calendar
なぜなら、かなり複雑で、日付と時刻に固有のすべての奇妙な点 (うるう年、サマータイム、タイムゾーンなど) を処理しなければならないからです。
一般に、長いタイムスタンプまたは
Date
オブジェクトを使用し、アプリケーション内では
Calendar
実際に日付/時刻の計算を行う必要がある場合、あるいはユーザーに表示するために日付をフォーマットする必要がある場合です。もし、このようなことをたくさんしなければならないのであれば
Jodaタイム
は、よりすっきりとしたインターフェイスとより良いパフォーマンスのために、おそらく良いアイデアでしょう。
関連
-
[解決済み】JavaScriptで「無効な日付」のDateインスタンスを検出する
-
[解決済み] javaでAnnotation Inheritanceのようなものはあるのでしょうか?
-
[解決済み] JavaScriptの日付の書式設定方法
-
[解決済み] JavaScriptで現在の日付を取得するには?
-
[解決済み] 整数の平方根が整数であるかどうかを判断する最速の方法
-
[解決済み] Androidで現在の時刻と日付を取得する方法
-
[解決済み] Swift Betaのパフォーマンス:配列のソート
-
[解決済み] JavaScriptの日付をUTCに変換する方法を教えてください。
-
[解決済み] Intel CPU の _mm_popcnt_u64 で、32 ビットのループカウンターを 64 ビットに置き換えると、パフォーマンスが著しく低下します。
-
[解決済み】Javaの「ダブルブレース初期化」の効率化?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 未処理の例外タイプIOException」が表示されるのですが?
-
[解決済み] JVMフラグCMSClassUnloadingEnabledは、実際に何をするのですか?
-
[解決済み] ストリングビルダー.イコール Java
-
[解決済み] java.lang.ClassCastException: java.util.Arrays$ArrayList は java.util.ArrayList にキャストできません。
-
[解決済み] Javaでのスキャナが動作しない
-
[解決済み] ORA-01654: インデックスを拡張できません。
-
[解決済み] JAVA_OPTIONS、JAVA_TOOL_OPTIONS、JAVA_OPTSの違いについて
-
[解決済み] publicId と systemId の間に空白が必要です。
-
[解決済み] Javaで正しいマイクロベンチマークを書くには?
-
[解決済み] Androidで現在の日付を取得するにはどうすればよいですか?