Профилировщик: Я действительно предпочитаю запускать код через профилировщик.Я действительно заинтересован в узких местах, и я предполагаю, что это то, что вы после.
Существуют и другие альтернативы.
JUnit и JPerf: Если у вас есть тесты junit, то использование jperf - это очень просто.
Динамический прокси: Если в вашем приложении есть интерфейсы и если вас интересуют только вызовы интерфейса, создайте динамический прокси и используйте его для отметки времени.
Объект секундомера: Более простой подход, чем ваш, - создать объект секундомера (у apache commons есть один), с методами start, pause, resume, lap stop и использовать его.Это работает лучше, чем ваш код, так как экземпляры секундомера могут использоваться с обратными вызовами, событиями и потоками.
AOP: Кроме профилировщиков почти все вышеперечисленные опции могут быть реализованы с использованием пользовательского кода, ноесли вы достаточно любопытны, чтобы изучить АОП, это было бы здорово.