The reJ project aims to allow improved visibility into Java class files, whether they were created compiling from Java sources, another language or by any other kind of tool. Basically anything that will run in a Java Virtual Machine.
reJ is a library and a graphical tool for inspection (viewing, searching and comparing) and manipulation (modification, obfuscation, refactoring of methods, fields, attributes and code) of classfiles for the Java platform.
There are various robust libraries/APIs available for bytecode manipulation, such as:
Each library has a slightly different focus. reJ uses it's own API which is focused to serve the needs of the user interface. The user interface with syntax coloring, search, compare and editing capabilities is something that is less readily available elsewhere.
For a more comprehensive list of features, see the Features page.
Some of your questions may be answered in the Frequently Asked Questions section.