代码对比
✕ Java 8
// Millisecond precision only
long millis =
System.currentTimeMillis();
// 1708012345678
✓ Java 9+
// Microsecond/nanosecond precision Instant now = Instant.now(); // 2025-02-15T20:12:25.678901234Z long nanos = now.getNano();
发现此代码有问题? 告诉我们。
为什么现代方式更好
更高精度
微秒/纳秒 vs 毫秒时间戳。
诊断友好
更精确的时间测量,用于性能基准测试。
平台利用
在支持高分辨率的平台上自动使用。
旧方式
毫秒
现代方式
纳秒
自 JDK
9
难度
中级
JDK 支持
纳秒精度的 Instant
可用
自 JDK 9 起广泛可用(2017 年 9 月)
工作原理
Java 9 改进了时钟分辨率,使 Instant.now() 在支持的平台上可以捕获微秒甚至纳秒精度。对于需要高精度计时的基准测试和诊断非常有用。
相关文档