Apache Byte Code Engineering Library (formerly
known as JavaClass) is intended to give users a
convenient utility to analyze, create, and
manipulate (binary) Java class. Classes are
represented by objects which contain all the
symbolic information of the given class, in particular
the methods, fields and byte code instructions.
Such objects can be read from an existing file, be
transformed by a program (e.g. a class loader at
run-time), and can be dumped to a file. One
interesting application is the creation of classes
from scratch at run-time. Apache Byte Code
Engineering Library (BCEL) may be also useful if you
want to learn about the Java Virtual Machine (JVM)
and the format of Java .class files.