Все о разработке перед кодированием.
, Если Вы не знаете всех отношений между двумя объектами после определения интерфейса тогда Вы сделали плохое задание определения интерфейса - который относительно легко зафиксировать.
, Если Вы погрузились прямо в кодирование и поняли, половина пути через Вас пропускает что-то, что намного более трудно зафиксировать.
I've always been partial to YourKit.
There are lots of others though, both open source and commercial. If you do a google search for "java profilers" you should be able to find one to your liking.
jconsole входит в состав jdk и включает мониторинг потоков / памяти / ЦП