http://findbugs.sourceforge.net/
FindBugs is one of the tools I use regularly at work. At the end of each coding iteration, I like to run FindBugs on the code to look for issues. It has caught more than one deferenced NullPointerException. I run the standalone GUI app, but it can be run from an Ant task, the command line, Eclipse, NetBeans, IntelliJ, Hudson, Maven, and Jenkins.