Class Explorer


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

codexterity
ems ATSIGN codexterity PERIOD com