<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 8,  comments - 6,  trackbacks - 0

    1.7  以納秒級的時間計算:使用System.nanoTime 

    Java5+

    摩爾定律是一種眾所周知的現象,即計算機中的晶體管數量和它的處理速度隨時間呈指數規律增長。作為仙童半導體公司(Fairchild Semiconductor)的研發領導人,戈登•摩爾于1965年提出了這一偉大發現。迄今為止,它仍有效。
    與Java首次出現的時候相比,當前計算機的速度要快得多,對于很多應用程序而言以毫秒計時已不再能夠滿足要求。你可能使用過java.lang.System類,利用currentTimeMillis方法來獲得一個方法調用或一段代碼的定時信息。此方法可以用來度量執行某操作所花費的時間。但是,在運算速度更快的計算機上操作花費的時間可能遠小于1毫秒,于是可以在一個for循環中執行此操作上百次或上千次,然后除以循環次數來計算此操作的單位時間。考慮下面的示例:

    long startTime = System.currentTimeMillis();
    for (int i=0; i<1000; i++) {
    performOperation(); // something we want to measure
    }
    long endTime = System.currentTimeMillis();
    long totalTimeInMillis = endTime - startTime;
    // because the count was 1000, it's easy to get the unit time
    long unitTimeInMicros = totalTimeInMillis;

    這種一種很簡單的運算,因為使用了for循環1000次。但是如果要度量亞微秒該如何實現呢?

    for(int i=0; i<1000000; i++) { performOperation(); }
    如果從人類的角度來看,可憐的for循環將不得不不厭其煩地百萬次的頻繁循環!此外,只有在重復執行操作沒有副作用的情況下使用for循環來計算時間才是有用的。如果操作是調用java.util.Collections.sort方法,那么將很難計算出排序過程花費的時間。在Java 5中,System類有一個新的nanoTime方法,它能返回一個納秒精度的計數器。盡管不能將它用于度量絕對時間,但是它能夠很好地度量時間差別。

    List myList = initializeList();  // initialize the List somehow
    long startTime = System.nanoTime();
    Collections.sort(myList);         // measuring the sort time
    long endTime = System.nanoTime();
    long differenceInNanoseconds = endTime - startTime;

    遺憾的是,運行上面的代碼時無法保證實際上獲得的是納秒級的度量。但是使用更快的機器和良好的JRE實現,對于測試目的而言它是一種有用的度量方法。可以在JDK 5文檔中找到更多有關此方法的信息。鑒于操作系統特性、機器處理速度和系統負載的不同,得到的由nanoTime方法返回的值可能會有很大的變化。隨著時間的推移此問題應該會有所改善,摩爾定律基本上能保證這一點。

    參考資料:

    想要了解摩爾的原始論文,請參看Gordon E. Moore, Cramming More Components onto Integrated Circuits, Electronics, Vol. 38, No. 8 (April 19, 1965)。此外,還可以在網上獲得該論文,參看本書的網站http:// wickedcooljava.com以獲得URL。


    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    留言簿(1)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    主站蜘蛛池模板: 4399影视免费观看高清直播| 久久久久久免费一区二区三区| 四虎影视久久久免费观看| 成人a毛片免费视频观看| 最新国产乱人伦偷精品免费网站| 午夜理伦剧场免费| 噜噜嘿在线视频免费观看| 亚洲高清最新av网站| 亚洲成色在线综合网站| 亚洲国产av一区二区三区丶| 亚洲精品亚洲人成在线| 国产精品永久免费视频| 91精品国产免费| 日韩在线视频免费看| 国精无码欧精品亚洲一区 | 亚洲精品高清在线| 亚洲AV无码1区2区久久| 99热亚洲色精品国产88| 一区二区免费在线观看| 久久不见久久见免费视频7| 国产精品色午夜免费视频| 亚洲理论电影在线观看| 亚洲粉嫩美白在线| 国产免费内射又粗又爽密桃视频| 2020因为爱你带字幕免费观看全集| 四虎影视在线永久免费观看| 久久久久亚洲精品无码系列| 亚洲精品第一国产综合亚AV| 黄桃AV无码免费一区二区三区| 免费看美女裸露无档网站| 国产亚洲成归v人片在线观看| 亚洲午夜电影在线观看高清| 丰满少妇作爱视频免费观看| 国产成人精品免费视频大| 亚洲狠狠爱综合影院婷婷| 亚洲精品国产电影午夜| 羞羞视频免费网站日本| 美女裸身网站免费看免费网站| 久久99亚洲综合精品首页| 亚洲成A人片在线播放器| 久久综合九色综合97免费下载|