相关疑难解决方法(0)

'精度'和'准确度'之间有什么区别?

'准确'和'准确'之间有什么区别?

如果有差异,你能给出一个例子

  • 一个准确但不准确的数字
  • 一个精确但不准确的数字
  • 一个既准确又精确的数字

谢谢!

math

14
推荐指数
3
解决办法
3万
查看次数

我可以从System.nanoTime中合理期望的最差分辨率是多少?

我正在编写需要微秒分辨率或更好的时间戳的软件.

我打算System.currentTimeMillis结合System.nanoTime这种方式使用,虽然它只是一个粗略的代码草图:

private static final long absoluteTime = (System.currentTimeMillis() * 1000 * 1000);
private static final long relativeTime = System.nanoTime();

public long getTime()
{
    final long delta = System.nanoTime() - relativeTime;
    if (delta < 0) throw new IllegalStateException("time delta is negative");
    return absoluteTime  + delta;
}
Run Code Online (Sandbox Code Playgroud)

文档nanoTime说:

这种方法提供纳秒级精度,但不一定是纳秒级分辨率(即,值的变化频率) - 除了分辨率至少与分辨率一样好之外,不做任何保证currentTimeMillis().

所以它没有给我们任何优于毫秒的分辨率保证.

更深入一点nanoTime(在可预见的本地方法下):

  • Windows使用的QueryPerformanceCounterAPI承诺分辨率小于1微秒,这很棒.

  • Linux使用clock_gettime带有标志来确保值是单调的,但不会对解决方案做出任何承诺.

  • Solaris类似于Linux

  • 该消息来源没有提到OSX或基于Unix的操作系统如何处理这个问题.

(来源)

我已经看到了一些模糊的暗示,它将" 通常 "具有微秒分辨率,例如另一个问题的答案: …

java linux windows time

11
推荐指数
1
解决办法
404
查看次数

仅在有限时间内为变量赋值

假设有一个布尔变量,最初赋值false.有没有办法说,让这个变量true在接下来的5分钟内然后让它false再次出现?

我目前的想法是我可以将变量与时间戳一起存储,然后一旦变量转到true,时间戳设置为当前时间,然后通过一个方法检查变量的值,true如果当前时间和初始时间戳形成持续时间小于5分钟,然后false持续时间大于5分钟.我正在考虑从一个隐式转换Boolean到一个RichBoolean通过一个优雅的方法名称来处理这个机制的东西.

是否有更优雅或Scala本地方式这样做?

scala

3
推荐指数
2
解决办法
135
查看次数

标签 统计

java ×1

linux ×1

math ×1

scala ×1

time ×1

windows ×1