java中最精确的时间类型?
我想比较应用程序中某些操作的性能 除了使用Date对象,还有更精确的吗?公共静态长nanoTime-返回最精确的可用系统计时器的当前值,以纳秒为单位 作为扎克的代笔人: 我猜是因为这个系统。使用最精确的 可用的系统计时器,显然只有 在你的系统上有毫秒的精度,你再也找不到更好的了 public static long nanoTime-返回最精确的可用系统计时器的当前值,以纳秒为单位 作为扎克的代笔人: 我猜是因为这个系统。使用最精确的 可用的系统计时器,显然只有 在你的系统上有毫秒的精度,你再也找不到更好的了java中最精确的时间类型?,java,date,Java,Date,我想比较应用程序中某些操作的性能 除了使用Date对象,还有更精确的吗?公共静态长nanoTime-返回最精确的可用系统计时器的当前值,以纳秒为单位 作为扎克的代笔人: 我猜是因为这个系统。使用最精确的 可用的系统计时器,显然只有 在你的系统上有毫秒的精度,你再也找不到更好的了 public static long nanoTime-返回最精确的可用系统计时器的当前值,以纳秒为单位 作为扎克的代笔人: 我猜是因为这个系统。使用最精确的 可用的系统计时器,显然只有 在你的系统上有毫秒的精度,你再也
如果通过减去两个时间戳来测量经过的时间,则应使用System.nanoTime来获取这些时间戳。这就是它的用途。如果通过减去两个时间戳来测量经过的时间,那么应该使用System.nanoTime来获得这些时间戳。这就是它的用途。要获得CPU时间,可以使用线程管理Bean的getCurrentThreadCpuTime。 它返回实际线程使用的CPU时间(纳秒):
ThreadMXBean threadMX = ManagementFactory.getThreadMXBean();
long time = threadMX.getCurrentThreadCpuTime();
// do something
time = threadMX.getCurrentThreadCpuTime() - time; // CPU time in nanoseconds
检查详细信息和一些问题,如CPU时间测量未启用。要获取CPU时间,可以使用线程管理Bean的getCurrentThreadCpuTime。 它返回实际线程使用的CPU时间(纳秒):
ThreadMXBean threadMX = ManagementFactory.getThreadMXBean();
long time = threadMX.getCurrentThreadCpuTime();
// do something
time = threadMX.getCurrentThreadCpuTime() - time; // CPU time in nanoseconds
查看详细信息和一些问题,如CPU时间测量未启用。否,它不仅具有毫秒精度。如果可能的话,他们可以以更高的分辨率访问Java中更精确的媒体计时器。纳米时间不是很精确,因为它不是每纳秒更新一次,比如@ThorstenS。前面提到的,它的分辨率大约为毫秒。在我的例子中,使用currentTimeMillis是更好的选择,因为纳米时间有奇怪的滞后峰值。不,它不仅仅有毫秒精度。如果可能的话,他们可以以更高的分辨率访问Java中更精确的媒体计时器。纳米时间不是很精确,因为它不是每纳秒更新一次,比如@ThorstenS。前面提到的,它的分辨率大约为毫秒。在我的例子中,使用currentTimeMillis是更好的选择,因为纳米时间有奇怪的滞后峰值。相关:你是在问精度还是准确度?他们不一样。相关:你问的是精度还是准确度?它们不一样。纳米时间不是很精确,因为它不是每纳秒更新一次,就像@ThorstenS.提到的,它有大约一毫秒的分辨率。在我的例子中,使用currentTimeMillis是更好的选择,因为纳米时间有奇怪的滞后峰值。纳米时间不是很精确,因为它不是每纳秒更新一次,比如@ThorstenS。上面提到的,它的分辨率约为毫秒。在我的例子中,使用currentTimeMillis是更好的选择,因为nanoTime有奇怪的滞后峰值。