国产探花免费观看_亚洲丰满少妇自慰呻吟_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));}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 夏津县| 玛沁县| 罗源县| 洞口县| 洞头县| 加查县| 万年县| 泾川县| 姜堰市| 余江县| 通榆县| 阿合奇县| 潼关县| 尼木县| 新昌县| 炉霍县| 和平县| 临城县| 景德镇市| 南溪县| 中西区| 扶余县| 麻城市| 五指山市| 台湾省| 南宫市| 通州区| 鄂尔多斯市| 石屏县| 体育| 庆阳市| 庆云县| 阜阳市| 石河子市| 泸西县| 衡水市| 都昌县| 宜昌市| 池州市| 临泉县| 宜丰县|