我尝试使用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));
答案 0 :(得分:0)
如果我理解正确,你想以不同的方式计算for循环(什么都不做)。
这个for循环很可能完全被优化掉,因此它使用的时间减少了。