国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

System.nanoTime()和System.currentTimeMillis()區別 (還是直接看API比較清晰)

2019-11-10 17:39:26
字體:
來源:轉載
供稿:網友

先來看看System的靜態方法nanoTime()

public static long nanoTime()返回最準確的可用系統計時器的當前值,以毫微秒為單位。 

此方法只能用于測量已過的時間,與系統或鐘表時間的其他任何時間概念無關。返回值表示從某一固定但任意的時間算起的毫微秒數(或許從以后算起,所以該值可能為負)。此方法提供毫微秒的精度,但不是必要的毫微秒的準確度。它對于值的更改頻率沒有作出保證。在取值范圍大于約 292 年(263 毫微秒)的連續調用的不同點在于:由于數字溢出,將無法準確計算已過的時間。

例如,測試某些代碼執行的時間長度:

   long startTime = System.nanoTime();   // ... the code being measured ...   long estimatedTime = System.nanoTime() - startTime; 

返回: 系統計時器的當前值,以毫微秒為單位。 從以下版本開始: 1.5

currentTimeMillis

public static long currentTimeMillis()返回以毫秒為單位的當前時間。注意,當返回值的時間單位是毫秒時,值的粒度取決于底層操作系統,并且粒度可能更大。例如,許多操作系統以幾十毫秒為單位測量時間。

請參閱 Date 類的描述,了解可能發生在“計算機時間”和協調世界時(UTC)之間的細微差異的討論。

返回: 當前時間與協調世界時 1970 年 1 月 1 日午夜之間的時間差(以毫秒為單位測量)。 另請參見: Date使用例子:

public static void main(String[] args) {    //首先我們創建一個大的list,里面的元素都是唯一的:    int max = 1000000;    List<String> values = new ArrayList<>(max);    for (int i = 0; i < max; i++) {        UUID uuid = UUID.randomUUID();        values.add(uuid.toString());    }    //我們測量一下對這個集合進行排序所使用的時間。    //順序排序    long t0 = System.nanoTime();    long count = values.stream().sorted().count();    System.out.PRintln(count);    long t1 = System.nanoTime();    long millis = TimeUnit.NANOSECONDS.toMillis(t1 - t0);    System.out.println(String.format("sequential sort took: %d ms", millis));    //并行排序    long tt0 = System.nanoTime();    long countt = values.parallelStream().sorted().count();    System.out.println(countt);    long tt1 = System.nanoTime();    long milliss = TimeUnit.NANOSECONDS.toMillis(tt1 - tt0);    System.out.println(String.format("parallel sort took: %d ms", milliss));}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 合江县| 德保县| 济宁市| 小金县| 东源县| 集安市| 武平县| 湖口县| 霍邱县| 徐闻县| 安化县| 黄梅县| 祁连县| 新闻| 黑龙江省| 卢氏县| 滨州市| 阿拉善左旗| 多伦县| 揭阳市| 丰镇市| 修水县| 隆回县| 县级市| 四会市| 天祝| 太原市| 南京市| 武安市| 江源县| 墨玉县| 托克逊县| 象山县| 青岛市| 武威市| 漯河市| 永城市| 铁力市| 平陆县| 金溪县| 连城县|