在java应用程序中运行时间

问题描述 投票:-2回答:3

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

String timeStamp = new
SimpleDateFormat("yyyyMMdd_HHmmss").format(Calendar.getInstance().getTime());
java
3个回答
1
投票

new Date()比Calendar.getInstance()快一些.getTime()

无论如何,没有必要保持运行时间我想,无论何时需要时间戳,您都可以使用timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());更新时间戳。

你能说明你的运行时间用例吗?如果可以的话,为您的问题找到最佳解决方案会更容易。如果需要在特定时间触发进程,则使用java.util.Timer也是一种选择。


0
投票

为什么不使用java.util.Timer而不是循环


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
    });

例如如果你想计算这段代码的持续时间:

    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()));
 });
© www.soinside.com 2019 - 2024. All rights reserved.