Medir las diferencias de tiempo usando System.currentTimeMillis ()

Tengo un programa Java simple y quiero saber la diferencia de tiempo entre un conjunto de operaciones. Para esta pregunta, los detalles no son importantes, pero tomemos el siguiente escenario.

long beginTime = System.currentTimeMillis();

//Some operations. Let us asssume some database operations etc. which are time consuming.

//

long endTime = System.currentTimeMillis();

long difference = endTime - beginTime;

Cuando el código se ejecuta en una máquina, ¿cuán confiable será la diferencia?

Digamos que el procesador comienza a ejecutar algunas instrucciones de mi código, luego le da contexto a otro proceso, que se ejecuta durante un tiempo, y luego vuelve a ejecutar las instrucciones relacionadas con este proceso java.

Entonces, la diferencia de tiempo debería depender del estado actual de mi máquina, es decir, ¿cuántos procesos se están ejecutando, etc.? Por lo tanto, en el tiempo de creación de perfiles que toma para que algunas operaciones se ejecuten, ¿este mecanismo no es confiable?

Respuestas a la pregunta(2)

Su respuesta a la pregunta