久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

Java中獲取時間戳的三種方式對比實現(xiàn)

瀏覽:2日期:2022-08-18 10:27:18

Java中獲取時間戳 三種方式對比

最近項目開發(fā)過程中發(fā)現(xiàn)了項目中獲取時間戳的業(yè)務(wù)。而獲取時間戳有以下三種方式,首先先聲明推薦使用System類來獲取時間戳,下面一起看一看三種方式。

1.System.currentTimeMillis()

System類中的currentTimeMillis()方法是三種方式中效率最好的,運行時間最短。開發(fā)中如果設(shè)計到效率問題,推薦使用此種方式獲取。

System.currentTimeMillis()2.new Date().getTime()

除了System類,使用量很大的應(yīng)該就是Date類了,包括我也一樣開發(fā)中如果涉及到日期的首先會想到Date,但date類中獲取時間戳并不是最有效率的,翻看他的源碼:無參構(gòu)造如下👇

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

從源碼可以看出,new Date()其實就是調(diào)用了System.currentTimeMillis(),再傳入自己的有參構(gòu)造函數(shù)。不難看出,如果只是僅僅獲取時間戳,即使是匿名的new Date()對象也會有些許的性能消耗, 從提升性能的角度來看,只是僅僅獲取時間戳,不考慮時區(qū)的影響(時區(qū)為什么會有影響看下一段),直接調(diào)用System.currentTimeMillis()會更好一些。

3.Calendar.getInstance().getTimeInMillis()

這種方式其實是速度最慢,看其源碼就會發(fā)現(xiàn),Canlendar是區(qū)分時區(qū)的,因為要處理時區(qū)問題會耗費很多的時間。

附測試如下:

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(); }} }

效果如下

187 7032 297

Calendar.getInstance().getTimeInMillis() 這種方式速度最慢,這是因為Canlendar要處理時區(qū)問題會耗費較多的時間。

到此這篇關(guān)于Java中獲取時間戳的三種方式對比實現(xiàn)的文章就介紹到這了,更多相關(guān)Java 獲取時間戳內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 华亭县| 舞阳县| 津市市| 察隅县| 兰溪市| 乾安县| 象山县| 扬中市| 天长市| 土默特右旗| 师宗县| 灵宝市| 沙湾县| 武汉市| 张北县| 赣州市| 吉木萨尔县| 松潘县| 宁海县| 衡阳县| 娱乐| 宝山区| 金昌市| 迭部县| 平谷区| 富锦市| 东港市| 新安县| 新干县| 泉州市| 怀宁县| 锦州市| 迁安市| 阜康市| 禄丰县| 清丰县| 伊宁市| 泌阳县| 江阴市| 潮安县| 临沂市|