您的位置:首页 > 其它

测试程序运行的时间+产生随机数

2018-01-20 18:17 375 查看

测试程序运行的时间

public static void main(String[] args) {
Long t1 = System.currentTimeMillis();
/*程序*/
Long t2 = System.currentTimeMillis();
System.out.println(t2);
System.out.println(t2- t1);
System.out.println(t1);
}


多线程调用的时候,由于CPU速率很快,因此currentTimeMillis可能产生相同的数值,此时可以使用nanoTime()代替currentTimeMillis()

nanoTime()和currentTimeMillis()的区别:

System.currentTimeMillis()返回的[b]毫秒,这个毫秒其实就是自1970年1月1日0时起的毫秒数.[/b]

System.nanoTime()返回的是[b]纳秒,This method can only be used to measure elapsed time and is not related to any other notion of system or wall-clock time.The value returned represents nanoseconds since some fixed but arbitrary time (perhaps in the future, so values may be negative). 意思就是只能用于测试运行的时间,而它的返回值是一个任意时间值,正负都有可能。[/b]

public static void main(String[] args) {
Long t1 = System.nanoTime();
/*程序*/
Long t2 = System.nanoTime();
System.out.println(t2);
System.out.println(t2- t1);
System.out.println(t1);
}


产生随机数

可以使用上面提及的系统时间作为种子

public static void main(String[] args) {
int[] a = new int[5000];//产生的随机数的个数
Random r = new Random(System.currentTimeMillis());
for(int i =0;i<5000;i++){
a[i] = r.nextInt(10);//产生随机数的范围
}
System.out.println(Arrays.toString(a));
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: