码迷,mamicode.com
首页 > 编程语言 > 详细

java基础巩固系列(十一):java测试程序运行时间的两种方法

时间:2015-01-19 15:51:04      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:stringbuffer   stringbuilder   system   程序时间   

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()

返回以毫秒为单位的当前时间。注意,当返回值的时间单位是毫秒时,值的粒度取决于底层操作系统,并且粒度可能更大。例如,许多操作系统以几十毫秒为单位测量时间。

返回:

当前时间与协调世界时 1970 年 1 月 1 日午夜之间的时间差(以毫秒为单位测量)。

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);
		
		
	}



java基础巩固系列(十一):java测试程序运行时间的两种方法

标签:stringbuffer   stringbuilder   system   程序时间   

原文地址:http://blog.csdn.net/u010800530/article/details/42873427

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!