问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

JAVA获取时间戳,哪个更快1

发布网友 发布时间:2023-11-23 02:18

我来回答

4个回答

热心网友 时间:2024-04-03 08:38

//方法 一
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千万次,然后查看运行结果
Java代码 收藏代码
187
7032
297

结果发现 System.currentTimeMillis() 这种方式速度最快
Calendar.getInstance().getTimeInMillis() 这种方式速度最慢,看看源码会发现,Canlendar因为要处理时区问题会耗费很多的时间。
所以建议多使用第一种方式。

另,System 类中有很多高效的方法,比如,arrayCopy 之类的

热心网友 时间:2024-04-03 08:38

new Date()

热心网友 时间:2024-04-03 08:39

System.currentTimeMillis()

热心网友 时间:2024-04-03 08:39

System.currentTimeMillis()啊,new Date()也是调用的它
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? 荣耀手环5和5i区别1 2025广联达自定义楼梯如何设置顶层栏杆 私的组词有哪些词语7 宫崎骏和他的世界经典语段 改成什么比较有意义 新移民去澳洲生活的指南 新买的tp-link路由器,关机再开机时需要断电重启路由才能上网,要不连19... 笔记本如何看电视? 如何找回微信中删掉的?4 持有大额存单在哪一科目核算2 上12休24是多少天? 去寺庙应该注意什么?679 感情是需要沟通跟交流,如何才能让感情变好? 美元缺一个小角怎么在中国使用,在中国银行已碰了一鼻子灰 不登陆QQ号,只玩QQ游戏能不能升级? 大航海时代4+丽璐篇怎么捉无赖柏列特?2 大航海时代4+丽璐篇怎么好几个海盗都是在海上遇到都打不起来?... ...下水管道可以承受多少温度?没有油的100度烫水可以直接倒下去吗?_百 ... 私的组词有哪些31 2022改成什么比较有意义 注销后还能查到聊天记录吗 结汇一般需要多久到账 求问一个足球动画片 平行四边形的面积和周长怎么算? y7000内置电池 加装内存条 要不要把电池拆掉12 ...拴住在竖直的直面内作圆周运动,则小球过最高点时的最小和最大速度... y7000怎么进去bios界面啊?1 高中从高一到高三一科一共有几本书 人教版高中教材一共有几本,每科有几本66 请问各位时尚的朋友我这样的身材怎么搭配穿着衣服啊? 佳能1DX与1DX2代有什么区别61 未满一年可以强制改吗 未满一年可以强制改吗 成人自考本科文凭有没有用? 私的组词有哪些?2 学习通考试没有摄像头,会偷偷拍吗?6 《绝地求生》M762配件推荐及使用技巧 M762配件怎么选择 我这种身材,夏天怎么穿衣服? 壁挂炉如何操作? 百度钱包填写个人身份资料会有危险吗