【发布时间】:2012-06-13 13:16:43
【问题描述】:
短版: 如果你必须每分钟保存当前日期和时间,覆盖现有条目你会怎么做?
将其写入文本文件、数据库或第三个选项?并且可能会被认为是最佳实践。
我的情况是我想知道,在应用程序启动时,应用程序最后一次运行是什么时候。
长版:
我有一个性能问题,也许还有正确的编码风格。
我有一个应用程序可以跟踪食物库存,当有些东西变得陈旧并且必须删除时。 每分钟都有一个 timertask 运行,检查库存中的当前项目,以及它们是否超过了它们被认为是陈旧的日期和时间。
问题是,如果应用程序关闭并重新启动,则不会检查在停机期间过时的项目。
重复方法的代码
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);
}
}
}
}
};
我真的不同意这种检查是否过时的方式,但这是一个学校项目,所以它并不那么重要。
我向大型机添加了一个窗口侦听器,但我不确定是否可以依靠它来捕获意外崩溃,例如电源故障。
【问题讨论】:
-
为什么不检查启动?
-
我认为 JavaFX 可以为您节省大量工作和时间。戴夫是对的!检查启动,或放一个按钮来完成所有更新!
-
您是否考虑过不是每分钟都写入文件,而是作为程序关闭的一部分?所以你在关机的时候写一次。
-
我的想法是检查启动时间,但启动时我必须知道应用程序何时崩溃。有没有我应该知道的“简单”方法?
-
@Thomas 我用窗口监听器来做这件事,但据我所知,在意外崩溃期间我无法捕捉到关闭过程