java中获取当前时间戳不同方法比较

在java中,生成当前的时间戳大致上有这么几种方法,分别是:

一、System.currentTimeMillis(),它属于java.lang.System;

二、Calendar.getInstance().getTimeInMillis(),它属于java.util.Calendar;

三、new Date().getTime(),它属于java.util.Date;

下面是这三种方法各自运行100000所消耗的时间.

  1. currentTimeMillis方法所消耗的时间:2

  2. Calendar中的getTime()方法所消耗的时间:108

  3. Date中的getTime方法所消耗的时间:6

原因分析:也就是说new Date 方法其实也是调用的currentTimeMillis,但由于其又调用了getTime方法,所以说在时间的消耗上比currentTimeMillis要长一点是很容易理解的,毕竟走了一个将date型数据到long型的数据转换.而getTimeInMillis方法在执行前总是先装载Calendar,也就是说执行Calendar.getInstance()方法,在装载的过程中消耗了大量的时间,因而消耗的时间最长,所以说在生成当前的时间戳的方法上不建议采用getTimeInMillis.

new Date源码是这样的:

public Date() {
      this(System.currentTimeMillis());
}

所以System.currentTimeMillis()方法是最优的

你可能感兴趣的:(java)