JavaDecompiler, Disassembler and Bytecode debugger. Decompiler supports Java 5 (e.g. generics, for-each loops etc). Debugger allows user to step through each bytecode and view program state. Contains Swing GUI.
JReversePro is a JavaDecompiler / Disassembler written in Java. Facility to view the ConstantPool contents is available. AWT, Swing and command-line versions are present.