使用Java中的时间函数记录程序执行时间
Java中提供了多种时间函数,可以用来记录程序执行时间。下面介绍几个常用的时间函数。
1. System.currentTimeMillis()
System.currentTimeMillis()返回1970年1月1日00:00:00 GMT以来的毫秒数。可以在程序的关键点处分别调用该函数,得到两个时间戳,相减即可得到程序执行时间。
示例代码:
long t1 = System.currentTimeMillis();
// 程序代码
long t2 = System.currentTimeMillis();
System.out.println("程序执行时间:" + (t2 - t1) + "毫秒");
2. System.nanoTime()
System.nanoTime()可以获得更精确的时间戳,单位是纳秒。使用方式与System.currentTimeMillis()类似。
示例代码:
long t1 = System.nanoTime();
// 程序代码
long t2 = System.nanoTime();
System.out.println("程序执行时间:" + (t2 - t1) + "纳秒");
需要注意的是,System.nanoTime()的精度可能会受到硬件和操作系统的限制,不同的机器、不同的操作系统可能有不同的表现。
3. java.util.Date类和SimpleDateFormat类
可以使用java.util.Date类和SimpleDateFormat类来记录程序执行时间。
示例代码:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
Date now = new Date();
System.out.println("程序开始执行时间:" + sdf.format(now));
// 程序代码
now = new Date();
System.out.println("程序结束执行时间:" + sdf.format(now));
需要注意的是,SimpleDateFormat类的构造函数中的参数是日期格式化模板。"yyyy-MM-dd HH:mm:ss.SSS"表示年份-月份-日期 小时:分钟:秒.毫秒,可以根据需要修改。
以上是几个常用的Java时间函数,可以用来记录程序执行时间,方便进行性能分析和优化。需要注意的是,在进行性能测试时,一定要避免其他进程的干扰,保证测试的结果准确可靠。
