currentTimeMillis详解
currentTimeMillis() 方法是 java.lang.System 类中的一个静态方法,用于返回当前系统时间距离 1970 年 1 月 1 日 00:00:00 GMT(格林威治标准时间)之间的毫秒数。该方法返回的是一个 long 类型的数据,可以用于时间的计算和处理。
在 Java 中,时间是以毫秒为单位进行计算的。一秒等于 1000 毫秒,而 1 分钟等于 60 秒,也就是 60*1000=60000 毫秒。Java 中的 Date 类和 Calendar 类也都是以毫秒为基本单位进行计算的。
currentTimeMillis() 方法可以用于许多场景,比如:
1.计算程序运行时间
可以在计算开始时执行 System.currentTimeMillis(),在计算结束时再执行一次 System.currentTimeMillis(),用第二个时间减去 个时间,就可以得到程序的运行时间。
long startTime = System.currentTimeMillis();
// 运行计算代码
long endTime = System.currentTimeMillis();
long timeTaken = endTime - startTime;
System.out.println("程序运行时间为:" + timeTaken + " 毫秒");
2.测量 I/O 操作的时间
在进行 I/O 操作时,可以使用 currentTimeMillis() 方法来测量 I/O 操作的时间,以便优化程序的性能。
long startTime = System.currentTimeMillis();
// 执行 I/O 操作
long endTime = System.currentTimeMillis();
long timeTaken = endTime - startTime;
System.out.println("I/O 操作时间为:" + timeTaken + " 毫秒");
3.生成随机数种子
用于生成随机数的种子通常使用当前时间的毫秒数,可以使用 currentTimeMillis() 方法来获取随机数种子。
Random random = new Random(System.currentTimeMillis());
int randomNumber = random.nextInt(100);
需要注意的是,currentTimeMillis() 方法返回的是当前系统的时间,因此在不同的系统上可能存在微小的差异。另外,由于不同的系统可能存在时区差异,因此使用 currentTimeMillis() 方法获取的时间并不总是与当前时钟时间一致。如果需要获取当前时钟时间,可以使用 Java 8 引入的新的 java.time.Clock 类。
