短いバージョン: 現在の日付と時刻を毎分保存する必要がある場合、既存のエントリを上書きするにはどうしますか?
テキスト ファイル、データベース、または 3 番目のオプションに書き込むか。そしておそらく、何がベストプラクティスと考えられるでしょうか。
私のシナリオは、アプリケーションの起動時に、アプリケーションが最後に実行されたのはいつかを知りたいということです。
長いバージョン:
パフォーマンスの問題と、おそらく適切なコーディング スタイルの問題があります。
私は食品在庫を追跡するアプリケーションを持っています。毎分実行されているタイマー タスクがあり、現在在庫のあるアイテムをチェックし、それらが古くなったと見なされる日付と時刻を超えているかどうかをチェックします。
問題は、アプリケーションがシャットダウンして再起動すると、ダウンタイム中に古くなったアイテムがチェックされないことです。
繰り返しメソッドのコード
runeveryminute = new TimerTask() {
@Override
public void run() {
for (Item i : lager.getAllItems) {
if (i.getMinutesTillStale == 0) {
JOptionPane.showConfirmDialog(MainFrame.this,"WARNING",
"Alarm",
JOptionPane.OK_CANCEL_OPTION);
}
}
}
}
};
何かが古くなっているかどうかをチェックするこの方法にはあまり同意しませんが、これは学校のプロジェクトなので、それほど重要ではありません。
メインフレームにウィンドウ リスナーを追加しましたが、電源障害などの予期しないクラッシュをキャッチするために信頼できるかどうかはわかりません。