最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2021年01月18日 17:04:37   作者:cHAngXdoN  
這篇文章主要介紹了Java中獲取時(shí)間戳的三種方式對(duì)比實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

Java中獲取時(shí)間戳 三種方式對(duì)比

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

1.System.currentTimeMillis()

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

System.currentTimeMillis()

2.new Date().getTime()

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

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

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

3.Calendar.getInstance().getTimeInMillis()

這種方式其實(shí)是速度最慢,看其源碼就會(huì)發(fā)現(xiàn),Canlendar是區(qū)分時(shí)區(qū)的,因?yàn)橐幚頃r(shí)區(qū)問(wèn)題會(huì)耗費(fèi)很多的時(shí)間。

附測(cè)試如下:

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() 這種方式速度最慢,這是因?yàn)镃anlendar要處理時(shí)區(qū)問(wèn)題會(huì)耗費(fèi)較多的時(shí)間。

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

相關(guān)文章

  • 使用?mybatis?自定義日期類(lèi)型轉(zhuǎn)換器的示例代碼

    使用?mybatis?自定義日期類(lèi)型轉(zhuǎn)換器的示例代碼

    這篇文章主要介紹了使用?mybatis?自定義日期類(lèi)型轉(zhuǎn)換器的示例代碼,這里使用mybatis中的typeHandlers?實(shí)現(xiàn)的,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • Java開(kāi)發(fā)中最讓人頭疼的十個(gè)bug

    Java開(kāi)發(fā)中最讓人頭疼的十個(gè)bug

    這篇文章主要給大家總結(jié)介紹了關(guān)于Java開(kāi)發(fā)中最讓人頭疼的十個(gè)bug,同樣的bug信息,可能背后有千萬(wàn)種原因,而我,永遠(yuǎn)都不知道到底是哪一個(gè),努力通過(guò)代碼積累盡可能多的bug,并將它們進(jìn)行分類(lèi),可以幫你debug節(jié)省了時(shí)間,需要的朋友可以參考下
    2021-10-10
  • java 驗(yàn)證碼的生成實(shí)現(xiàn)

    java 驗(yàn)證碼的生成實(shí)現(xiàn)

    這篇文章主要介紹了java 驗(yàn)證碼的生成實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下
    2017-08-08
  • Java線程池Executor用法詳解

    Java線程池Executor用法詳解

    本文主要為大家詳細(xì)介紹了Java線程池Executor的用法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • Java一致性Hash算法的實(shí)現(xiàn)詳解

    Java一致性Hash算法的實(shí)現(xiàn)詳解

    這篇文章主要介紹了Java一致性Hash算法的實(shí)現(xiàn)詳解,hash的意思是散列,目的將一組輸入的數(shù)據(jù)均勻的分開(kāi)、打散,往往用來(lái)配合路由算法做負(fù)載均衡,多用在分布式系統(tǒng)中,需要的朋友可以參考下
    2024-01-01
  • 使用java獲取指定鏈接的網(wǎng)頁(yè)內(nèi)容

    使用java獲取指定鏈接的網(wǎng)頁(yè)內(nèi)容

    Java提供了許多用于網(wǎng)絡(luò)通信的庫(kù),其中最常用的是HttpURLConnection和HttpClient,本文將使用HttpURLConnection進(jìn)行爬取指定鏈接的網(wǎng)頁(yè)內(nèi)容,感興趣的可以了解下
    2023-09-09
  • Java圖書(shū)管理系統(tǒng)課程設(shè)計(jì)

    Java圖書(shū)管理系統(tǒng)課程設(shè)計(jì)

    這篇文章主要為大家詳細(xì)介紹了Java圖書(shū)管理系統(tǒng)課程設(shè)計(jì),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • java解一個(gè)比較特殊的數(shù)組合并題

    java解一個(gè)比較特殊的數(shù)組合并題

    這篇文章主要介紹了java解一個(gè)比較特殊的數(shù)組合并題,需要的朋友可以參考下
    2014-06-06
  • Windows下Java調(diào)用OCR進(jìn)行圖片識(shí)別

    Windows下Java調(diào)用OCR進(jìn)行圖片識(shí)別

    這篇文章主要為大家詳細(xì)介紹了Windows下Java調(diào)用OCR進(jìn)行圖片識(shí)別,通過(guò)Tesseract-OCR對(duì)圖片進(jìn)行識(shí)別,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • Kafka Java Producer代碼實(shí)例詳解

    Kafka Java Producer代碼實(shí)例詳解

    這篇文章主要介紹了Kafka Java Producer代碼實(shí)例詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06

最新評(píng)論

张北县| 莱芜市| 衡南县| 巧家县| 阿坝| 通州区| 额尔古纳市| 高唐县| 南部县| 象州县| 安吉县| 二手房| 简阳市| 嘉荫县| 平谷区| 威海市| 临高县| 天津市| 拉萨市| 松潘县| 天台县| 扶风县| 苍南县| 赫章县| 黑河市| 封丘县| 临潭县| 文成县| 宁阳县| 普格县| 于田县| 怀来县| 抚远县| 金乡县| 久治县| 九龙城区| 龙泉市| 日照市| 乐昌市| 新龙县| 梁河县|