There are situations when we need to understand the time taken for executing a section of code. We are also aware that System.currentTimeMillis() provides a good estimate of time.
System.nanoTime() is a more accurate version of time and can be used as below.
public class ExecuteTask{ public static void main(String args[]) { executeTask(); } private static void executeTask() { //Capturing the start time long startTime = System.nanoTime(); System.out.println("Start time: " + startTime); //Execute the task for (int i=0;i { //do nothing } //Capturing the end time long endTime = System.nanoTime() - startTime; System.out.println("End time: " + endTime); }}