Version 17 (modified by Mark Evenson, 12 years ago) (diff)


JVM Bytecode tools


BCEL verifier

java -cp bcel.jar \
   org.apache.bcel.verifier.Verifier <CLASSFILE-TO-BE-VERIFIED>

java -cp bcel-5.3-beta-694866.jar \
                   org.apache.bcel.verifier.GraphicalVerifier \


Kersten's Verifier for Java Byte Codes


After building classfileanalyzer.jar, classes can be decompiled into Jasmin assembler format ("*.j") via

java -jar ~/work/classfileanalyzer/classfileanalyzer.jar -file 144c_1.class 


Jasmine is the defacto assembler format for JVM bytecode.

An Emacs mode jasmin.el exists for visiting these files.

Some funkiness in the highlighting can be fixed in the attachment:jasmin-line-numbers.diff.

Online JVM reference

JVM specification.

Annotation of JVM instructions from J. Meyer and T. Downing, __Java Virtual Machine__, O'Reilly Associates, 1997. Some errors [unverified], but often more understandable than the JVM specification as it comes with short examples.


A command line tool that produces diagnostics about incorrect bytecode. Now folded as part of BCEL.

Attachments (1)

Download all attachments as: .zip