Java Bytecode Libraries
Why so many?
BCEL
ASM
Serp
Javassist
Jas, by K. B. Sriram, is used by the Jasmin assembler, but seems otherwise extinct
See also
another list
.
Unverified things i've heard:
BCEL hasn't been updated in ages
ASM supports things BCEL doesn't, like annotations and generics, and is much faster because it's SAXy rather than DOMinant.
"The BCEL project provides a JasminVisitor which will convert class files into jasmin assembly"
The fastest out of ASM, BCEL, Serp, and Javassist is
ASM
.