Se você não conhece o FindBugs, vai se surpreender como você pôde viver tanto tempo sem ele. É que ele achou uns erros escabrosos até nos fontes do JDK (ou seja, do próprio Java) - imagine nos seus programas.
Quanto a profilers, eles são muito úteis para lhe dizer por que é que seu programa está rodando tão devagar.