What is Class Explorer?
ClassExplorer is a utility for browsing the low-level contents of a Java compiled class file (.class).
It shows three possible views of class file data: as descriptive name=value lists, as raw hexadecimal data,
and, in the case of methods, a JASM-like dissassembly of the Java code.
Contrary to what most people believe, what makes Java portable is NOT the language. If that were the case, there would be
no need to compile Java source code. It is the Java Virtual Machine that enables portability. It specifies
such things as the byte ordering, data type sizes, etc. while leaving other details to the
implementor. In fact there can be (and there probably are) compilers for other languages like Pascal and COBOL that generate
bytecodes for the Java virtual machine
For details on the class file format, see the book, "The Java Virtual Machine Specification" by Tim Lindholm and
Frank Yellin. It is available online for free at the Sun web site
(http://java.sun.com/docs/books/vmspec/2nd-edition/html/VMSpecTOC.doc.html).
Who might find it useful?
I made it to help me understand what Java code gets compiled into, and how the
Java Virtual Machine works. I hope you find it useful too. Maybe you're planning on making your own clean-room
virtual machine implementation, or maybe you're simply curious. It's very handy to have around
while reading the VM spec. Then again maybe you might find the
project's source
code more useful.
Please remember that this program is only a weekend project. I may not have time to check for and fix all possible errors. If you
happen to find and fix any bugs, please let me know.
Here's a screen shot of Class Explorer in action:

(Yes, I stole the images from the Delphi IDE)
Download
The executable file can be downloaded in zip form here. The source code is located here.
(c) 2002 emil santos