Important note

BCEL has been very successful and I'd like to thank all those people that contributed to the project over the years. It has been so successful in fact that I have been asked to donate the code to the APACHE project!
So I did and versions >= 5.0 will be maintained and developed at BCEL's new home:

Welcome to the Byte Code Engineering Library 4.4.1

What is Byte Code Engineering?

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.

Such objects can be read from an existing file, be transformed by a program (e.g. a class loader at run-time) and dumped to a file again. An even more interesting application is the creation of classes from scratch at run-time. The 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.

BCEL is already being used successfully in several projects such as compilers, optimizers, obsfuscators, bytecode verifiers and analysis tools, the most popular probably being the Xalan XSLT compiler at Apache.

See the NEWS file for what has changed in the latest release.


BCEL and CCK are © 2001/2002 Markus Dahm. Last change 04/12/2002.
Please tell me, if you find this tool helpful. I'd also be interested in what kind of projects you use it.
Send bug reports and suggestions to Dahm) [a bitmapped number]