在Java 8中实现计数器的最佳方法是什么?

时间:2017-09-13 07:57:36

标签: java-8

我尝试使用Java 8的LocalTime和Instant实现一个计数器,两者都工作正常,但输出有点令人困惑!什么时候我使用Instant我在相同的循环中获得较小的值?任何想法?

// using Instant 
Instant before=Instant.now();
// something time consuming
for(int i=1;i<100000000;i++);
Instant after=Instant.now();
Duration duration=Duration.between(before, after);
System.out.println(duration.toMillis());


// using LocalTime
LocalTime xBefore=LocalTime.now();
for(int i=1;i<100000000;i++);
LocalTime yAfter=LocalTime.now();
System.out.println(ChronoUnit.MILLIS.between(xBefore, yAfter));

1 个答案:

答案 0 :(得分:0)

如果我理解正确,你想以不同的方式计算for循环(什么都不做)。

这个for循环很可能完全被优化掉,因此它使用的时间减少了。