如何在Mac上使用Java获得纳秒分辨率

如何在Mac上使用Java获得纳秒分辨率,java,macos,Java,Macos,我只能在MacOS10.8.5上的Eclipse(朱诺和开普勒)中获得微秒级的分辨率调用System.nanoTime()。有没有办法获得纳秒级的分辨率 for (int i = 1; i < 1000; i++) { if (System.nanoTime() % 1000 != 0) { System.out.println("Got one"); } } for(int i=1;i

我只能在MacOS10.8.5上的Eclipse(朱诺和开普勒)中获得微秒级的分辨率调用System.nanoTime()。有没有办法获得纳秒级的分辨率

for (int i = 1; i < 1000; i++) {
    if (System.nanoTime() % 1000 != 0) {
        System.out.println("Got one");
    }
}
for(int i=1;i<1000;i++){
如果(System.nanoTime()%1000!=0){
System.out.println(“得到一个”);
}
}

根据错误报告,您将在JDK 8u20的Mac OS X上获得更合适的
System.nanoTime()

简短地说,它与一个防护一起使用(因为它是CPU专用的),所以它不能倒退(在多核系统上)


请参阅JDK8中实现此功能的实际代码。

根据错误报告,您将在JDK 8u20的Mac OS X上获得更合适的
System.nanoTime()

简短地说,它与一个防护一起使用(因为它是CPU专用的),所以它不能倒退(在多核系统上)


请参阅JDK8中实现此功能的实际代码。

JVM通常会提供尽可能多的分辨率,即操作系统提供的分辨率。“此方法提供纳秒精度,但不一定是纳秒分辨率(即值更改的频率)-除了分辨率至少与currentTimeMillis()的分辨率一样好之外,不作任何保证。”JVM通常会提供尽可能多的分辨率,即操作系统所提供的分辨率。“此方法提供纳秒精度,但不一定是纳秒分辨率(即值更改的频率)-除分辨率至少与currentTimeMillis()的分辨率一样好外,不作任何保证。”