小编Som*_*Guy的帖子

Java中的纳秒时间,不使用java.util.Date

我需要尽可能少的垃圾收集(GC),非常精确和准确的时间,理想情况下每天1次.System.currentTimeMillis()不够准确,System.nanoTime()不是准确的时间来源.唯一会给我我想要的东西java.util.Date.getTime()但是它不是一个静态方法所以Date每次我需要精确和准确的时间时我必须创建一个新对象,这会导致更频繁地触发GC.

有谁知道Date课程如何获得准确和精确的时间?我希望采用Date的方法并定制它以最小化对象创建.要总结我的问题,请参阅以下内容:

long nanosSinceEpoch;
nanosSinceEpoch = System.currentTimeMillis(); // Not precise
nanosSinceEpoch = System.nanoTime();          // Not accurate
nanosSinceEpoch = new Date().getTime();       // Too many objects
Run Code Online (Sandbox Code Playgroud)

编辑:

我不确定为什么我认为System.currentTimeMillis()new Date().getTime()不同但事实证明它们是相同的.但遗憾的是,这并没有解决我的问题.

此外,getNano()java.time.Instant似乎只有毫秒分辨率.

java precision time garbage-collection date

3
推荐指数
1
解决办法
432
查看次数

标签 统计

date ×1

garbage-collection ×1

java ×1

precision ×1

time ×1