因此,如果你要使用这样的东西来节省计算机运行时间,那么保持运行时钟的最佳方法是什么?我知道你可以无限循环时钟并让它每1毫秒左右保持刷新一次,但是什么是更好的方法呢?
2018-01-03T15:04:14
2015-08-23T04:00:00
2015-08-23T18:54:12
答案 0 :(得分:1)
new Date()比Calendar.getInstance()。getTime()
快一些无论如何,我无需保持运行时间,无论何时需要时间戳,您都可以使用timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
更新时间戳。
您能否澄清一下运行时间的用例?如果可以的话,为您的问题找到最佳解决方案会更容易。如果您需要在特定时间触发进程,则使用java.util.Timer也是一种选择。
答案 1 :(得分:0)
为什么不使用java.util.Timer而不是循环
答案 2 :(得分:0)
你可以写一个这样的课:
public class Timei {
static void t(Runnable block) {
Instant start = Instant.now();
try {
block.run();
} finally {
Instant end = Instant.now();
Duration d = Duration.between(start, end);
System.out.println("duration (seconds): " + d.getSeconds() + "," + d.getNano());
}
}
}
...并像这样调用静态方法:
Timei.t(() -> {
//Some code to measure
});
e.g。如果你想计算这段代码的持续时间:
System.out.println(
IntStream.range(0, 1_000_000)
.filter(m -> m % 7 == 0)
.boxed()
.collect(toList()));
像这样“包裹”:
Timei.t(() -> {
System.out.println(
IntStream.range(0, 1_000_000)
.filter(m -> m % 7 == 0)
.boxed()
.collect(toList()));
});