DJ Java Decompiler is an interesting and free tool that's specifically designed for Java programmers, as it lets you decompile and disassemble files in Java to get the original source code from a Class file.
The most interesting thing about DJ Java Decompiler is that for it to work correctly you don't need Java Virtual Machine or any other extra component.
In addition to these functions, DJ Java Decompiler has all the usual options of a Java editor, that also lets you do batch processing.