Javassist

Javassist
Developer(s) Shigeru Chiba (programmer)
Stable release
3.20.0-GA / June 25, 2015 (2015-06-25)
Written in Java
Operating system Cross-platform
Type Bytecode Engineering Library
License dual license of the MPL and LGPL.
Website jboss-javassist.github.io/javassist/

Javassist (Java programming assistant) is a Java library providing a means to manipulate the Java bytecode of an application.[1] In this sense Javassist provides the support for structural reflection, i.e. the ability to change the implementation of a class at run time.

Bytecode manipulation is performed at load-time through a provided class loader.

Javassist enables Java programs to define a new class at runtime and to modify a class file when the JVM loads it. Unlike other similar bytecode editors, Javassist provides two levels of API: source level and bytecode level. Using the source-level API, programmers can edit a class file without knowledge of the specifications of the Java bytecode; the whole API is designed with only the vocabulary of the Java language. Programmers can even specify inserted bytecode in the form of Java source text; Javassist compiles it on the fly. On the other hand, the bytecode-level API allows the users to directly edit a class file as other editors.

Uses

Javassist can be used for the following:

References

  1. "Javassist". JBoss Community.

See also

External links


This article is issued from Wikipedia - version of the 1/8/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.