Те редкие случаи, когда раз в год нужен бывает профайлер, раньше использовал триальный jprofiler. Недавно ещё попробовал VisualVM, который в eclipse можно поставить прямо из маркета, вполне себе удобно и для моей несложной задачи выявить узкое место его вполне хватило.
1. Нормальный вроде JProfiler, но стоит как самолёт. Думаю, надо его тырить, а то зажрались эти буржуи, совести у них нет. Какой-то встроенный в JDK тоже есть.
2. Полно статических анализаторов, но твою задачу я не понял. В каком это виде должно быть? Понятно, что куча методов будет с сайдэффектами.