BCEL
The Byte Code Engineering Library (formerly known as JavaClass) is intended to give users a convenient possibility to analyze, create, and manipulate (binary) Java class files (those ending with .class). Classes are represented by objects which contain all the symbolic information of the given class: methods, fields and byte code instructions, in particular.
Official Project Page:
http://jakarta.apache.org/bcel/index.html
Additional User Supplied Information
BCELUserFAQ