Programming with Java Bytecode [closed]
Can Somebody tell me what is the Bytecode Engineering Library (BCEL) and how can i get it?
From the web site:
The Byte Code Engineering Library is intended to give users a convenient possibility to analyze, create, and manipulate (binary) Java class files (those ending with .class). Classes are represented by objects which contain all the symbolic information of the given class: methods, fields and byte code instructions, in particular.
Get it from the downloads page.
(And yes, simply typing BCEL into Google would have told you all of this...)
From the Jakarta Project, here is the BCEL definition:
The Byte Code Engineering Library is intended to give users a convenient possibility to analyze, create, and manipulate (binary) Java class files (those ending with .class). Classes are represented by objects which contain all the symbolic information of the given class: methods, fields and byte code instructions, in particular.
Such objects can be read from an existing file, be transformed by a program (e.g. a class loader at run-time) and dumped to a file again. An even more interesting application is the creation of classes from scratch at run-time. The Byte Code Engineering Library (BCEL) may be also useful if you want to learn about the Java Virtual Machine (JVM) and the format of Java .class files.
BCEL contains a byte code verifier named JustIce, which usually gives you much better information about what's wrong with your code than the standard JVM message.
Here is your resource for BCEL: http://jakarta.apache.org/bcel/manual.html
There is a builtin copy, but if you want to download it I would suggest you find it with google. I prefer ObjectWeb ASM and there is also cglib and javassist.
精彩评论