System.nanoTime() method returns the current value of the running Java Virtual Machine's high-resolution time source, in nanoseconds. The best application of this time could be measuring how much time took some operations.
System.nanoTime method usage example
long t1 = System.nanoTime(); Thread.sleep(1000); long t2 = System.nanoTime(); long dt = t2 - t1; System.out.println("Sleeping time is " + dt + " ns.");
Sleeping time is 1000143702 ns.