当前位置: 首页 > 后端技术 > Java

Java如何测量方法执行时间

时间:2023-04-01 14:53:59 Java

四种方法为了知道调用一个方法需要多长时间,我们需要测量方法的执行时间。废话不多说,直接给出四种方法。JDKcurrentTimeMillis首先定义了一个call方法,我们来测一下这个方法的执行时间:privatestaticvoidcall(){try{Thread.sleep(500);}catch(InterruptedExceptione){thrownewRuntimeException(e);}}使用JDK方法:privatestaticvoidcurrentTimeMillis(){longstart=System.currentTimeMillis();称呼();长端=System.currentTimeMillis();已过很长时间=结束-开始;System.out.println(elapsed);}JDKnanoTime使用JDK方法:privatestaticvoidnanoTime(){longstart=System.nanoTime();称呼();长端=System.nanoTime();已过很长时间=结束-开始;已用=已用/1000000;System.out.println(elapsed);}Java8TimeInstant使用Java8方法:privatestaticvoidjava8TimeInstant(){Instantstart=Instant.now();称呼();即时结束=Instant.now();经过很长时间=持续时间。之间(开始,结束).toMillis();System.out.println(elapsed);}commonslangStopWatch使用commons-lang3库方式,首先导入库:org.apache.commonscommons-lang33.12.0privatestaticvoidstopWatch(){秒表w=newStopWatch();w.开始();称呼();w.stop();System.out.println(w.getTime());}结果基本一样,但是currentTimeMillis容易出错,不建议精确测量:currentTimeMillis:501nanoTime:500java8TimeInstant:500stopWatch:500代码见GitHub:https://github.com/LarryDpk/p...