Overview of Javassist
masterJavassist (JAVA programming ASSISTant) is a Java bytecode engineering toolkit used for manipulating Java bytecode. It allows Java programs to define new classes at runtime and modify existing class files when the JVM loads them.
Javassist provides two distinct API levels:
- Source-level API: Allows editing class files using standard Java language vocabulary without needing knowledge of bytecode specifications. You can specify inserted bytecode as source text, which Javassist compiles on the fly.
- Bytecode-level API: Allows for direct editing of class files, similar to other bytecode editors.