java基础巩固系列(十一):java测试程序运行时间的两种方法
java.lang.System类中的两个方法:currentTimeMillis()与nanoTime()方法
一、nanoTime()
nanoTime()方法是以纳秒为单位进行计时,返回最准确的可用系统计时器的当前值。
此方法只能用于测量已过的时间,与系统或钟表时间的其他任何时间概念无关。返回值表示从某一固定但任意的时间算起的毫微秒数(或许从以后算起,所以该值可能为负)。此方法提供毫微秒的精度,但不是必要的毫微秒的准确度。它对于值的更改频率没有作出保证。在取值范围大于约 292 年(263 毫微秒)的连续调用的不同点在于:由于数字溢出,将无法准确计算已过的时间。
public static void main(String[] args) { long begin, end; begin = System.nanoTime(); StringBuilder s1 = new StringBuilder("Hello"); s1.append(" World"); end = System.nanoTime(); System.out.println(end-begin); //(2) begin = System.nanoTime(); StringBuffer s2 = new StringBuffer("Hello "); s2.append("World"); end = System.nanoTime(); System.out.println(end-begin); }
二、currentTimeMillis()
返回以毫秒为单位的当前时间。注意,当返回值的时间单位是毫秒时,值的粒度取决于底层操作系统,并且粒度可能更大。例如,许多操作系统以几十毫秒为单位测量时间。
返回:
public static void main(String[] args) { long begin, end; //(1) begin = System.currentTimeMillis(); StringBuilder s1 = new StringBuilder("Hello"); s1.append(" World"); end = System.currentTimeMillis(); System.out.println(end-begin); //(2) begin = System.currentTimeMillis(); StringBuffer s2 = new StringBuffer("Hello "); s2.append("World"); end = System.currentTimeMillis(); System.out.println(end-begin); }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。