目录
一、System.currentTimeMillis()
静态方法System.currentTimeMillis()
返回自 1970 年 1 月 1 日以来的时间(以毫秒为单位)。返回值类型为long:
long timeNow = System.currentTimeMillis();
返回的long值可用于初始化java.util.Date
、java.sql.Date
、java.sql.Timestamp
和java.util.GregorianCalendar
对象。
该方法的粒度大于1毫秒。如果重复调用此方法,则可能一段时间内返回相同的值,然后突然跳跃 10-20-30 毫秒或更多。它不是最精确或最细粒度的计时器。由于System.currentTimeMillis()无法准确返回时间,因此最好多次执行测量操作。这样,由大粒度时间值(不会每毫秒改变的值)引起的不准确性就会被拉平。
1.1 大小计算
最简单的就是使用System.currentTimeMillis()
。获取测量的操作之前和之后的时间,并计算时间差。像这样:
long startTime = System.currentTimeMillis();
callOperationToTime();
long endTime = System.currentTimeMillis();
long totalTime = endTime - startTime;
1.2 简单的Timer类
我们写一个简单的计算类 Timer:
public class Timer {
private long startTime = 0;
private long endTime = 0;
public void start(){
this.startTime = System.currentTimeMillis();
}
public void end(