JAVA获取时间戳,哪个更快
来源:互联网 发布:java如何求最大公约数 编辑:程序博客网 时间:2024/04/29 06:47
目前获取毫秒值大概有下面三种方法
- //方法 一
- 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 之类的
0 0
- JAVA获取时间戳,哪个更快
- JAVA获取时间戳,哪个更快
- JAVA获取时间戳,哪个更快
- JAVA获取时间戳,哪个更快
- JAVA获取时间戳,哪个更快
- JAVA获取时间戳,哪个更快
- JAVA获取时间戳,哪个更快
- JAVA获取时间戳,哪个更快
- JAVA获取时间戳,哪个更快
- 转载:JAVA获取时间戳,哪个更快
- JAVA获取时间戳,哪个更快<转>
- Java和C语言哪个更快?
- 关于Java和C++哪个更快的问题
- java中int与short哪个速度更快?
- 哪个更快:Java堆还是本地内存
- java堆和内存的区别,哪个更快?
- 哪个更快:Java堆还是本地内存
- 哪个更快:Java堆还是本地内存
- 接项目外包,协同OA项目 app开发简单需求
- 淘宝分享挣钱
- 碧蓝天VIP产品
- Android 真实 简历
- chkconfig 命令
- JAVA获取时间戳,哪个更快
- 单例模式
- android studio2.0解决办法 Plugin is too old, please update to a more recent version
- RxJava之四—— observeOn()与subscribeOn()的详解
- 简单编程技巧
- postgresql 笔记
- Oracle学习记录整理笔记2-用户管理
- 【BZOJ3224】Tyvj1728普通平衡树
- 【Android基础】Activity的启动模式(android:launchMode)