La clase System proporciona el método nanoTime() para medir el tiempo que pasa en nanosegundos (1/1.000.000.000 segundos) o también se puede utilizar el método curretTimeMillis() que devuelve la diferencia entre la hora actual y la medianoche del 1/1/1970.
public class timer {
public static void main(String[] args) {
long inicio = System.currentTimeMillis();
//se hace un retardo con un bucle
//se puede hacer TimeUnet.SECONDS.sleep(5) para tardar 5 segundos
//import java.util.concurrent.TimeUnit;
//en este caso es necesario cambiar main
//public static void main(String[] args) throws InterruptedException
for (long i=0;i<500000;i++) {
for (long j=0;j<5000;j++) {
}
}
long fin = System.currentTimeMillis();
long transcurrido = fin - inicio;
System.out.println("Tiempo transcurrido en milisegundos: " + transcurrido);
//Ahora con nanosegundos
inicio=System.nanoTime();
for (long i=0;i<500000;i++) {
for (long j=0;j<5000;j++) {
}
}
fin=System.nanoTime();
transcurrido=fin-inicio;
System.out.println("Tiempo transcurrido en nanosegundos: " + transcurrido + " en milisegundos: " + transcurrido/1000000);
}
}