ฉันเขียนโค้ดทดสอบอย่างง่ายและทดสอบหน่วยการอัปเดตเวลาของ JAVA ฉันพบว่ารอบการอัปเดตของ currentTimeMillis อยู่ที่ประมาณ 15 หรือ 16ms ดังนั้นจึงไม่สามารถวัดความแม่นยำได้เพียง 15ms-16ms รอบการอัปเดตของ nanoTime คือประมาณ 800-1200 นาโนวินาที ดังนั้นจึงไม่สามารถวัดเวลาที่ต่ำกว่า 800ns ได้ รหัสมีดังนี้:
JavaTimeWinTest คลาสสาธารณะ
-
โมฆะสาธารณะคง main (String [] args)
-
msTest();
nsTest();
-
โมฆะคงที่ส่วนตัว msTest()
-
ขนาด int = 6000000;
ยาว [] ครั้ง = ยาวใหม่ [ขนาด];
สำหรับ (int k = 0;k <ขนาด;k++)
-
ครั้ง [k] = System.currentTimeMillis();
-
เวลาล่วงหน้านาน = ครั้ง [0];
สำหรับ (int k = 1;k <ขนาด;k++)
-
ถ้า (ครั้ง [k]> ก่อนเวลา)
-
System.out.print("ms ค่าปัจจุบัน:" + ครั้ง [k]);
System.out.println("เปลี่ยนค่า:" + (ครั้ง [k]-preTime));
เวลาล่วงหน้า = ครั้ง [k];
-
-
-
โมฆะคงที่ส่วนตัว nsTest ()
-
ขนาด int = 50;
ยาว [] ครั้ง = ยาวใหม่ [ขนาด];
สำหรับ (int k = 0;k <ขนาด;k++)
-
ครั้ง [k] = System.nanoTime ();
-
เวลาล่วงหน้านาน = ครั้ง [0];
สำหรับ (int k = 1;k <ขนาด;k++)
-
ถ้า (ครั้ง [k]> ก่อนเวลา)
-
System.out.print ("ค่าปัจจุบัน ns:" + ครั้ง [k]);
System.out.println("เปลี่ยนค่า:" + (ครั้ง [k]-preTime));
เวลาล่วงหน้า = ครั้ง [k];
-
-
-
-
ผลลัพธ์ของการรันโค้ดจะเป็นดังนี้:
ms ค่าปัจจุบัน: 1262223891000 ค่าการเปลี่ยนแปลง: 16
ms ค่าปัจจุบัน: 1262223891015 ค่าการเปลี่ยนแปลง: 15
ms ค่าปัจจุบัน: 1262223891031 ค่าการเปลี่ยนแปลง: 16
ms ค่าปัจจุบัน: 1262223891046 ค่าการเปลี่ยนแปลง: 15
ms ค่าปัจจุบัน: 1262223891062 ค่าการเปลี่ยนแปลง: 16
ms ค่าปัจจุบัน: 1262223891078 ค่าการเปลี่ยนแปลง: 16
ms ค่าปัจจุบัน: 1262223891093 ค่าการเปลี่ยนแปลง: 15
ms ค่าปัจจุบัน: 1262223891109 ค่าการเปลี่ยนแปลง: 16
ms ค่าปัจจุบัน: 1262223891125 ค่าการเปลี่ยนแปลง: 16
ms ค่าปัจจุบัน: 1262223891140 ค่าการเปลี่ยนแปลง: 15
ms ค่าปัจจุบัน: 1262223891156 ค่าการเปลี่ยนแปลง: 16
ms ค่าปัจจุบัน: 1262223891171 ค่าการเปลี่ยนแปลง: 15
ms ค่าปัจจุบัน: 1262223891187 ค่าการเปลี่ยนแปลง: 16
ms ค่าปัจจุบัน: 1262223891203 ค่าการเปลี่ยนแปลง: 16
ms ค่าปัจจุบัน: 1262223891218 ค่าการเปลี่ยนแปลง: 15
ms ค่าปัจจุบัน: 1262223891234 ค่าการเปลี่ยนแปลง: 16
ms ค่าปัจจุบัน: 1262223891250 ค่าการเปลี่ยนแปลง: 16
ms ค่าปัจจุบัน: 1262223891265 ค่าการเปลี่ยนแปลง: 15
ms ค่าปัจจุบัน: 1262223891281 ค่าการเปลี่ยนแปลง: 16
ms ค่าปัจจุบัน: 1262223891296 ค่าการเปลี่ยนแปลง: 15
ns ค่าปัจจุบัน: 4634097766894 ค่าการเปลี่ยนแปลง: 3631
ns ค่าปัจจุบัน: 4634097768012 ค่าการเปลี่ยนแปลง: 1118
ns ค่าปัจจุบัน: 4634097769129 ค่าการเปลี่ยนแปลง: 1117
ns ค่าปัจจุบัน: 4634097769967 ค่าการเปลี่ยนแปลง: 838
ns ค่าปัจจุบัน: 4634097771085 ค่าการเปลี่ยนแปลง: 1118
ns ค่าปัจจุบัน: 4634097771923 ค่าการเปลี่ยนแปลง: 838
ns ค่าปัจจุบัน: 4634097773040 ค่าการเปลี่ยนแปลง: 1117
ns ค่าปัจจุบัน: 4634097773879 ค่าการเปลี่ยนแปลง: 839
ns ค่าปัจจุบัน: 4634097774996 ค่าการเปลี่ยนแปลง: 1117
ns ค่าปัจจุบัน: 4634097775834 ค่าการเปลี่ยนแปลง: 838
ns ค่าปัจจุบัน: 4634097776952 ค่าการเปลี่ยนแปลง: 1118
ns ค่าปัจจุบัน: 4634097777790 ค่าการเปลี่ยนแปลง: 838
ns ค่าปัจจุบัน: 4634097778907 ค่าการเปลี่ยนแปลง: 1117
ns ค่าปัจจุบัน: 4634097780025 ค่าการเปลี่ยนแปลง: 1118
ns ค่าปัจจุบัน: 4634097780863 ค่าการเปลี่ยนแปลง: 838
ns ค่าปัจจุบัน: 4634097781980 ค่าการเปลี่ยนแปลง: 1117
ns ค่าปัจจุบัน: 4634097782818 ค่าการเปลี่ยนแปลง: 838
ns ค่าปัจจุบัน: 4634097783936 ค่าการเปลี่ยนแปลง: 1118
ns ค่าปัจจุบัน: 4634097784774 ค่าการเปลี่ยนแปลง: 838
ns ค่าปัจจุบัน: 4634097785891 ค่าการเปลี่ยนแปลง: 1117
ns ค่าปัจจุบัน: 4634097786729 ค่าการเปลี่ยนแปลง: 838
ns ค่าปัจจุบัน: 4634097787847 ค่าการเปลี่ยนแปลง: 1118
ns ค่าปัจจุบัน: 4634097788685 ค่าการเปลี่ยนแปลง: 838
ns ค่าปัจจุบัน: 4634097789802 ค่าการเปลี่ยนแปลง: 1117
ns ค่าปัจจุบัน: 4634097790920 ค่าการเปลี่ยนแปลง: 1118
ns ค่าปัจจุบัน: 4634097791758 ค่าการเปลี่ยนแปลง: 838
ns ค่าปัจจุบัน: 4634097792875 ค่าการเปลี่ยนแปลง: 1117
ns ค่าปัจจุบัน: 4634097793714 ค่าการเปลี่ยนแปลง: 839
ns ค่าปัจจุบัน: 4634097794831 ค่าการเปลี่ยนแปลง: 1117
ns ค่าปัจจุบัน: 4634097795669 ค่าการเปลี่ยนแปลง: 838
ns ค่าปัจจุบัน: 4634097796787 ค่าการเปลี่ยนแปลง: 1118
ns ค่าปัจจุบัน: 4634097797625 ค่าการเปลี่ยนแปลง: 838
ns ค่าปัจจุบัน: 4634097798742 ค่าการเปลี่ยนแปลง: 1117
ns ค่าปัจจุบัน: 4634097799580 ค่าการเปลี่ยนแปลง: 838
ns ค่าปัจจุบัน: 4634097800698 ค่าการเปลี่ยนแปลง: 1118
ns ค่าปัจจุบัน: 4634097801815 ค่าการเปลี่ยนแปลง: 1117
ns ค่าปัจจุบัน: 4634097802653 ค่าการเปลี่ยนแปลง: 838
ns ค่าปัจจุบัน: 4634097803771 ค่าการเปลี่ยนแปลง: 1118
ns ค่าปัจจุบัน: 4634097804609 ค่าการเปลี่ยนแปลง: 838
ns ค่าปัจจุบัน: 4634097805726 ค่าการเปลี่ยนแปลง: 1117
ns ค่าปัจจุบัน: 4634097806564 ค่าการเปลี่ยนแปลง: 838
ns ค่าปัจจุบัน: 4634097807682 ค่าการเปลี่ยนแปลง: 1118
ns ค่าปัจจุบัน: 4634097808520 ค่าการเปลี่ยนแปลง: 838
ns ค่าปัจจุบัน: 4634097809637 ค่าการเปลี่ยนแปลง: 1117
ns ค่าปัจจุบัน: 4634097810475 ค่าการเปลี่ยนแปลง: 838
ns ค่าปัจจุบัน: 4634097811593 ค่าการเปลี่ยนแปลง: 1118
ns ค่าปัจจุบัน: 4634097812431 ค่าการเปลี่ยนแปลง: 838
ns ค่าปัจจุบัน: 4634097813548 ค่าการเปลี่ยนแปลง: 1117
ns ค่าปัจจุบัน: 4634097814666 ค่าการเปลี่ยนแปลง: 1118
บทความนี้มาจากบล็อก CSDN โปรดระบุแหล่งที่มาเมื่อพิมพ์ซ้ำ: http://blog.csdn.net/chuan122345/archive/2009/12/31/5110727.aspx