Java獲取程式執行時間
阿新 • • 發佈:2021-10-22
本文為joshua317原創文章,轉載請註明:轉載自joshua317部落格https://www.joshua317.com/article/176
1.說明
推薦:請使用System.currentTimeMillis()代替new Date().getTime()
獲取當前毫秒數:System.currentTimeMillis(); 而不是new Date().getTime(); 說明:如果想獲取更加精確的納秒級時間值,用System.nanoTime。在JDK8中,針對統計時間等場景,推薦使用Instant類。 public class TimeMillisDemo { public static void main(String args[]) { // Positive example: long a = System.currentTimeMillis(); // Negative example: long b = new Date().getTime(); System.out.println(a); System.out.println(b); } }
2.示例
Javapackage com.joshua317; import java.util.Date; /** * 請使用System.currentTimeMillis()代替new Date().getTime() */ public class Main { public static void main(String[] args) { System.out.println("System.currentTimeMillis()方式獲取毫秒時間:"); totalTime1(); System.out.println("new Date().getTime()方式獲取毫秒時間:"); totalTime2(); } private static void sleep() { try { // 休眠1秒,1000ms Thread.sleep(1000); } catch (Exception e) { } } //推薦方式 public static void totalTime1() { //獲取開始時間 long startTime=System.currentTimeMillis(); sleep(); //結束時間 long endTime=System.currentTimeMillis(); System.out.println("開始時間:" + startTime); System.out.println("結束時間:" + endTime); long total = endTime - startTime; System.out.println("耗時時間" + total +"ms"); } //不推薦 public static void totalTime2() { // 初始化 Date 物件 long startTime = new Date().getTime(); sleep(); //結束時間 long endTime = new Date().getTime(); System.out.println("開始時間:" + startTime); System.out.println("結束時間:" + endTime); long total = endTime - startTime; System.out.println("耗時時間" + total +"ms"); } }
3.擴充套件
毫秒是一種較為微小的時間單位,符號為ms,英文:millisecond,
1 秒 =1000 毫秒
1 毫秒 = 1000微秒
1微秒 = 1000納秒
1納秒 = 1000皮秒
1s = 1000ms
1ms = 1000μs
1μs = 1000ns
1ns = 1000ps
典型照相機的最短曝光時間為一毫秒。