请问有人能为我指明正确的IT技术问题解决路径吗?
为什么在下面的代码中,开始消息和结束消息之间会有一秒钟的间隔?
System.out.println("Start:" + LocalTime.now());
for (int i = 0; i > -1; i++) { /*Infinite loop*/ }
System.out.println("End :" + LocalTime.now());
我试图找出DCE是否需要花费时间来处理这种类型的代码,但没有找到太多有用信息。
请问有人能为我指明正确的IT技术问题解决路径吗?
为什么在下面的代码中,开始消息和结束消息之间会有一秒钟的间隔?
System.out.println("Start:" + LocalTime.now());
for (int i = 0; i > -1; i++) { /*Infinite loop*/ }
System.out.println("End :" + LocalTime.now());
我试图找出DCE是否需要花费时间来处理这种类型的代码,但没有找到太多有用信息。
你已经将“i”定义为int类型,其范围从-2,147,483,648到2,147,483,647。当它达到-2147483648(您的代码从0开始循环并递增1)时,条件变为false,循环就会停止。
int i;
System.out.println("Start: " + LocalTime.now());
for (i = 0; i > -1; i++) { /*Infinite loop*/ }
System.out.println("End :" + LocalTime.now());
System.out.println("i :" + i);
i
循环从 0 到 2,147,483,647。 - Thiyagu
i
溢出并最终变为 -1。 - marstranLocalTime.now()
对于测量持续时间来说不是很好,因为它会漂移。使用System.nanoTime()
并求差值。 - Zabuzard