jbytecode is a Java bytecode disassembler/assembler written in Python. Dissasembly code is aligned with Java bytecodes in the class file so modification and re-assembly is always possible, even when class is obfuscated.
JasminParser is a Jasmin (Java Assembler, .j file) compiler based on the Apache BCEL. JasminParser provides a disassembler and an assembler to convert java classes and jasmin files to each other.
JReversePro is a Java Decompiler / Disassembler written in Java. Facility to view the ConstantPool contents is available. AWT, Swing and command-line versions are present.