Java計(jì)算程序代碼執(zhí)行時(shí)間的方法小結(jié)
本文實(shí)例總結(jié)了Java計(jì)算程序代碼執(zhí)行時(shí)間的方法。分享給大家供大家參考,具體如下:
有時(shí)候?yàn)榱伺挪樾阅軉栴},需要記錄完成某個(gè)操作需要的時(shí)間,我們可以使用System類的currentTimeMillis()方法來(lái)返回當(dāng)前的毫秒數(shù),并保存到一個(gè)變量中,在方法執(zhí)行完畢后再次調(diào)用 System的currentTimeMillis()方法,并計(jì)算兩次調(diào)用之間的差值,就是方法執(zhí)行所消耗的毫秒數(shù)。
如方法一:
long startTime = System.currentTimeMillis(); //獲取開始時(shí)間
doSomething(); //測(cè)試的代碼段
long endTime = System.currentTimeMillis(); //獲取結(jié)束時(shí)間
System.out.println("程序運(yùn)行時(shí)間:" + (endTime - startTime) + "ms"); //輸出程序運(yùn)行時(shí)間
第二種方法是以納秒為單位計(jì)算的(使用System的nanoTime()方法):
long startTime=System.nanoTime(); //獲取開始時(shí)間
doSomeThing(); //測(cè)試的代碼段
long endTime=System.nanoTime(); //獲取結(jié)束時(shí)間
System.out.println("程序運(yùn)行時(shí)間: "+(endTime-startTime)+"ns");
示例代碼一:
public static void main(String[]args){
String str="";
long starTime=System.currentTimeMillis();
//計(jì)算循環(huán)10000的時(shí)間
for(int i=0;i<10000;i++){
str=str+i;
}
long endTime=System.currentTimeMillis();
long Time=endTime-starTime;
System.out.println(Time);
StringBuilder bulider=new StringBuilder("");
starTime=System.currentTimeMillis();
for(int j=0;j<10000;j++){
bulider.append(j);
}
endTime=System.currentTimeMillis();
Time=endTime-starTime;
System.out.println(Time);
}
示例代碼二:
public class Main {
/**
* 計(jì)算兩個(gè)時(shí)間點(diǎn)直接逝去的毫秒數(shù)
*
*/
public void computeAndDisplayElapsedTime() {
long startTime = System.currentTimeMillis();
for (int i = 0; i < 10; i++) {
try {
Thread.sleep(60);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
}
long endTime = System.currentTimeMillis();
float seconds = (endTime - startTime) / 1000F;
System.out.println(Float.toString(seconds) + " seconds.");
}
/**
* 啟動(dòng)程序
*/
public static void main(String[] args) {
new Main().computeAndDisplayElapsedTime();
}
}
輸出結(jié)果類似:
```out 0.609 seconds.
更多關(guān)于java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《java日期與時(shí)間操作技巧匯總》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》和《Java緩存操作技巧匯總》
希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。
- Java程序執(zhí)行時(shí)間的2種簡(jiǎn)單方法
- java獲取當(dāng)前時(shí)間和前一天日期(實(shí)現(xiàn)代碼)
- Java計(jì)算兩個(gè)程序運(yùn)行時(shí)間的實(shí)例
- Java獲取當(dāng)前時(shí)間年月日的方法
- java 獲取當(dāng)前時(shí)間的三種方法
- Java 獲取當(dāng)前系統(tǒng)時(shí)間的三種方法
- 教你使用Java獲取當(dāng)前時(shí)間戳的詳細(xì)代碼
- Java中如何計(jì)算一段程序的運(yùn)行時(shí)間
- Java怎么獲取當(dāng)前時(shí)間、計(jì)算程序運(yùn)行時(shí)間源碼詳解(超詳細(xì)!)
相關(guān)文章
Java語(yǔ)言實(shí)現(xiàn)掃雷游戲(2)
這篇文章主要為大家詳細(xì)介紹了Java語(yǔ)言實(shí)現(xiàn)掃雷游戲第二部分代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-04-04
IDEA2020.1創(chuàng)建springboot項(xiàng)目(國(guó)內(nèi)腳手架)安裝lombok
這篇文章主要介紹了IDEA2020.1創(chuàng)建springboot項(xiàng)目(國(guó)內(nèi)腳手架)安裝lombok,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
Java數(shù)據(jù)結(jié)構(gòu)與算法之棧(Stack)實(shí)現(xiàn)詳解
這篇文章主要為大家詳細(xì)介紹了Java數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)筆記第二篇,Java數(shù)據(jù)結(jié)構(gòu)與算法之棧Stack實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-09-09
SpringBoot密碼加密的實(shí)現(xiàn)示例
本文主要介紹了SpringBoot密碼加密的實(shí)現(xiàn)示例,包括引入依賴、配置加密工具、生成加密密鑰、加密密碼、配置解密,具有一定的參考價(jià)值,感興趣的可以了解一下2024-08-08
Java中的ConcurrentLinkedQueue使用解析
這篇文章主要介紹了Java中的ConcurrentLinkedQueue使用解析,一個(gè)基于鏈接節(jié)點(diǎn)的無(wú)界線程安全隊(duì)列,此隊(duì)列按照 FIFO(先進(jìn)先出)原則對(duì)元素進(jìn)行排序,隊(duì)列的頭部是隊(duì)列中時(shí)間最長(zhǎng)的元素,需要的朋友可以參考下2023-12-12
Java多線程CountDownLatch的實(shí)現(xiàn)
本文主要介紹了Java多線程CountDownLatch的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02
@Valid 校驗(yàn)無(wú)效,BindingResult未獲得錯(cuò)誤的解決
這篇文章主要介紹了@Valid 校驗(yàn)無(wú)效,BindingResult未獲得錯(cuò)誤的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10
詳解SpringBoot中異步請(qǐng)求和異步調(diào)用(看完這一篇就夠了)
這篇文章主要介紹了SpringBoot中異步請(qǐng)求和異步調(diào)用問題,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-04-04
從零構(gòu)建可視化jar包部署平臺(tái)JarManage教程
這篇文章主要為大家介紹了從零構(gòu)建可視化jar包部署平臺(tái)JarManage教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05
關(guān)于JDBC的簡(jiǎn)單封裝(實(shí)例講解)
下面小編就為大家?guī)?lái)一篇關(guān)于JDBC的簡(jiǎn)單封裝(實(shí)例講解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2017-08-08

