How arbitary is the start of System.nanoTime()?
Join the DZone community and get the full member experience.Join For Free
System.nanoTime() is defined as having an arbitrary start time. However, there is no reason to make it random and it is based on an unspecified system call. On Centos 5.7 and other Linuxes I have tried, this appears to be based on the uptime.
System.out.println("/proc/uptime " + new Scanner(new FileInputStream("/proc/uptime")).next()); System.out.println("System.nanoTime " + System.nanoTime() / 1e9);prints
/proc/uptime 265671.85 System.nanoTime 265671.854834206
Opinions expressed by DZone contributors are their own.