网站不备案违法吗,五个网站,云南省城市建设培训中心网站,网站优化推广是什么有两种方法可以通过使用System.currentTimeinMillis#xff08;#xff09;或通过使用System.nanoTime#xff08;#xff09; 来测量Java中经过的执行时间 。 这两个方法可用于测量 Java中两个方法调用或事件之间的经过时间或执行时间 。 计算经过的时间是Java程序员要做的… 有两种方法可以通过使用System.currentTimeinMillis或通过使用System.nanoTime 来测量Java中经过的执行时间 。 这两个方法可用于测量 Java中两个方法调用或事件之间的经过时间或执行时间 。 计算经过的时间是Java程序员要做的第一件事即弄清方法要执行多少秒或毫秒或者某个特定代码块要花费多少时间。 大多数Java程序员从一开始就熟悉System.currentTimeInMillis而Java 1.5引入了新版本的更精确的时间测量实用程序System.nanoTime以及诸如Generics Enum类型 auto等语言的一些新功能。装箱和可变参数或可变参数 。 您可以使用它们中的任何一个来衡量Java中方法的执行时间。 尽管最好使用System.nanoTime来更精确地测量时间间隔。 在本Java编程教程中我们将看到一个简单的Java程序它通过使用System.nanoTime和Spring框架的StopWatch实用工具类来测量执行时间。 本文是我继续发布有关涵盖Java基本概念的文章的继续例如如何在Java中比较String 如何在Java中正确编写equals方法以及在Java 中循环HashMap的4种方法 。 如果您还没有阅读它们您可能会发现它们很有用。 衡量Java执行时间的Java程序示例 这是一个使用System.nanoTime 测量两个代码块之间的经过时间的代码示例在任何开放源代码Java库如Apache commons langGoogle commons和Spring中还提供了StopWatch实用程序类可用于测量Java的经过时间 。 StopWatch改进了可读性以在计算经过的执行时间时最大程度地减少了计算错误但是请注意StopWatch并非线程安全的 不应在多线程环境中共享并且它的文档明确指出它更适合用于基本性能评估的开发和测试环境在生产环境中执行时间计算。 import org.springframework.util.StopWatch;/*** Simple Java Program to measure elapsed execution time in Java* This Java Program shows two ways for measuring time in Java, by using System.nanoTime() which was* added in Java 5 and StopWatch which is a utility class from Spring Framework.*/
public class MeasureTimeExampleJava {public static void main(String args[]) {//measuring elapsed time using System.nanoTimelong startTime System.nanoTime();for(int i0; i 1000000; i){Object obj new Object();}long elapsedTime System.nanoTime() - startTime;System.out.println(Total execution time to create 1000K objects in Java in millis: elapsedTime/1000000);//measuring elapsed time using Spring StopWatchStopWatch watch new StopWatch();watch.start();for(int i0; i 1000000; i){Object obj new Object();}watch.stop();System.out.println(Total execution time to create 1000K objects in Java using StopWatch in millis: watch.getTotalTimeMillis());} }Output:
Total execution time to create 1000K objects in Java in millis: 18
Total execution time to create 1000K objects in Java using StopWatch in millis: 15 您应该使用哪一个来衡量Java中的执行时间 如果您使用的版本低于JDK 1.5则取决于可用的选项而System.currentTimeInMillis在可用性方面是最佳选择而在JDK 1.5之后nanoTime可以更好地测量经过时间因为它更准确并且使用精确的系统时钟并可以测量高达纳秒的精度 。 虽然如果您正在使用上述Java开源库中的任何一个大多数情况下使用Spring而不是StopWatch也是更好的选择但是正如我之前所说 StopWatch 不是线程安全的 只能在开发和测试环境中使用。 就像SimpleDateFormat不是线程安全的一样 您可以使用ThreadLocal为每个线程创建SimpleDateFormat您也可以使用StopWatch做同样的事情。 但是我不认为StopWatch是像SimpleDateFormat这样的重对象。 这就是如何测量Java的经过时间或执行时间的全部内容。 使自己养成测量重要代码段的性能和执行时间的习惯尤其是在大多数时间执行的方法或循环。 在那些地方对代码进行小的优化可以提高性能。 参考 如何在Java中测量经过的执行时间–来自我们JCG合作伙伴 Javin Paul的StopWatch示例来自Javarevisited博客。 翻译自: https://www.javacodegeeks.com/2012/08/measure-execution-time-in-java-spring.html