Here are two references to JLint programs that help to find potential logic problems in Java code. On a small project where you're the only develop working on the code this may not be too necessary, but on a larger project with multiple developers ... it can be most helpful, especially if some of the developers don't have much experience.
I just ran the artho.com version on a relatively large project, and while many of the complaints didn't matter too much, there were a couple of good catches. Hopefully I'll be able to create a little tutorial about this soon.
help support my writing