Tempo em Java

Pessoal como faço para calcular o tempo de execução de um programa em java ? Quero fazer isso para tentar melhorar o algoritmo cada vez mais para fins de estudo.

pega a data do sistema em long no inicio e no fim e subtrai.

System.currentTimeInMillis()

Valew funcionou perfeito