目前获取毫秒值大概有下面三种方法
//方法 一
System.currentTimeMillis();
//方法 二
Calendar.getInstance().getTimeInMillis();
//方法 三
new Date().getTime();
最近做监控系统,发现代码中有前两种方法,然后突然有了一个想法,到底哪个更快呢?
然后做了如下实验:
import java.util.Calendar;
import java.util.Date;
public class TimeTest {
private static long _TEN_THOUSAND=10000;
public static void main(String[] args) {
long times=1000*_TEN_THOUSAND;
long t1=System.currentTimeMillis();
testSystem(times);
long t2=System.currentTimeMillis();
System.out.println(t2-t1);
testCalander(times);
long t3=System.currentTimeMillis();
System.out.println(t3-t2);
testDate(times);
long t4=System.currentTimeMillis();
System.out.println(t4-t3);
}
public static void testSystem(long times){//use 188
for(int i=0;i<times;i++){
long currentTime=System.currentTimeMillis();
}
}
public static void testCalander(long times){//use 6299
for(int i=0;i<times;i++){
long currentTime=Calendar.getInstance().getTimeInMillis();
}
}
public static void testDate(long times){
for(int i=0;i<times;i++){
long currentTime=new Date().getTime();
}
}
}
因为很简单我就不加注释了,每种方法都运行1千万次,然后查看运行结果
187
7032
297
结果发现 System.currentTimeMillis() 这种方式速度最快
Calendar.getInstance().getTimeInMillis() 这种方式速度最慢,看看源码会发现,Canlendar因为要处理时区问题会耗费很多的时间。
所以建议多使用第一种方式。
另,System 类中有很多高效的方法,比如,arrayCopy 之类的
分享到:
相关推荐
java 获取指定日期(带毫秒)的 13位时间戳 ,获取当前时间的时间戳 一句话就可以System.currentTimeMillis();
Android获取时间戳,以及将时间戳转换为时间
TimeStamp(用java实现时间戳)
delphi获取当前系统时间的13位时间戳。与java获取时间戳对比 ,是一样的结果
java中获取当前时间,时间戳,获取指定某一天的开始时间戳,获取指定某一天的结束时间戳,获取当月开始时间戳,获取当年的开始时间戳,获取当前时间戳 毫秒级
获取时间戳
获取系统时间戳和MD5加密 获取系统时间戳和MD5加密 获取系统时间戳和MD5加密
主要介绍了Java获取凌晨时间戳的方法,结合实例形式对比分析了java时间戳运算的简单操作技巧,需要的朋友可以参考下
主要为大家详细介绍了Java获取精确到秒的时间戳方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
IOS获取时间戳并转化为对应格式的时间 支持多个单独时间的格式化
windows bat下获取冲1970年1月1日0:00:00开始到此刻的秒数。
java获取当前时间戳的方法.pdf
Winform获取时间戳等功能源码 源码描述: 一、源码特点 1、把鼠标所在点的颜色转为css代码,获取时间戳、修改系统时间格式等常用功能。颜色转css、修改系统时间格式 二、菜单功能 1、操作txt文件 2、操纵快盘 3...
时间戳通常是一个字符序列,唯一地标识某一刻的时间,所以下面这篇文章主要给大家介绍了关于java中如何获取时间戳的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习...
java获取当前时间戳的方法.doc.docx
详细的讲述了如何穿件textfield的accessoryView 以及 将java时间戳转换为IOS时间戳的方法
java 获取标准格林尼治时 标准格林尼治时间 标准时间
java_时间戳与Date_相互转化相关函数.txt
JavaScript获取时间戳与时间戳转化.e