在java应用程序中运行时间

时间:2018-01-03 15:09:16

标签: java

因此,如果你要使用这样的东西来节省计算机运行时间,那么保持运行时钟的最佳方法是什么?我知道你可以无限循环时钟并让它每1毫秒左右保持刷新一次,但是什么是更好的方法呢?

2018-01-03T15:04:14
2015-08-23T04:00:00
2015-08-23T18:54:12

3 个答案:

答案 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()));
 });