记一次生成高精度时间戳,类似与.net的时间戳,码着备忘。
long timestamp = System.currentTimeMillis() * 1000000L + System.nanoTime() % 1000000L;
System.currentTimeMillis()
生成的毫秒时间戳,有时并不能满足需求,如在有并发的系统内将时间戳作为唯一标示。System.nanoTime()
API的本意是用来计算时间差的,生成的纳秒时间戳虽然不能作为精确的时间戳,但是生成的纳秒值可以为我所用。1000000L
是毫秒转纳秒的进率(1ms=1000000ns)。