【JAVA】API(2)—计算执行十亿次空循环所需要的时间(System类)

一、前言

前面,我们先接触了JAVA的帮助文档 ,也就是应用程序编程接口API.

(上次API的 学习及下载地址:https://blog.csdn.net/qq_42446456/article/details/84330764)

这次,我们继续进行学习,本次要求:完成一个 java application应用程序,计算执行 十亿次空循环所需要的时间。并在 不同cup主频的计算机上运行此程序,比较其 运算所需时间有何差别。

二、分析学习

要想从计算机上获取当前的运行时间,那么我们就需要查询和学习有关计算机系统的类与方法。

1.System类介绍

打开API文档,搜索System类,查看相关的信息如下:
1
可见,System也是属于jjava.lang包下的类,用final来修饰。
特点:不能被继承,包含类字段(静态)和方法,不能被实例化(不能是抽象类和工具类),它的构造被私有了,也就是说它的方法必须以静态修饰。

2.方法

2
如上展示的方法中,我们提取相应的public static long currentTimeMillis()方法来进行讲解。
3

static long currentTimeMillis():以毫秒单位值返回当前的系统时间。正式的 时间取值是相对于GMT时间(格林威治时间)1970年1月1日 00:00:00:00(0时0分0秒0毫)的系统时间取值。

三、实践

为了更好的理解和应用System类,我们使用其中的static long currentTimeMillis()方法来构造一个小的 java application应用程序 ,计算执行 十亿次空循环所需要的时间

public class SystemDemo{
	public static void main(String[] args){//主方法
		/*
		 *public static long currentTimeMillis():以毫秒值返回当前系统时间   
		 *  这个时间是相对于1970年1月1日 00:00:00:00(0时0分0秒0毫)的系统时间
		 *如:1970-1-1  00:00:01 时返回:1000
		 *    1970-1-1  00:01:00 时返回:1000*60
		 *    1970-1-1  05:00:00 时返回:1000*60*60*5
		 *一定要注意:返回时间是以毫秒为单位。
		 */
		//System.out.println(System.currentTimeMillis());//输出当前计算机时间
		
		//计算一段程序运行的效率(时间)
		long start =System.currentTimeMillis();	//定义一个记录开始的时间
		long s = 0;//定义一个求和变量
		for(int i=0;i<1000000000;i++){//for循环执行10亿次
			//System.out.println(i);//输出i的循环情况

			//s=s+i;//累加求和循环的情况		
		}
		long end =System.currentTimeMillis();	//定义一个记录结束的时间
		System.out.println("执行十亿次空循环用时:"+(end - start)+"毫秒");
		//System.out.println("执行十亿次累加用时:"+(end - start)+"毫秒");
	}
}

四、结果

1.计算执行十亿次空循环所需时间

5

2.计算执行十亿次累加所需时间

6


有的程序可能执行需要几秒几分钟或者几毫秒,这样的话不同的程序执行都有着不同的执行时间,我们可以做出相应的统计,以便于做出相应的更好优化。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值