Java tools, components, libraries and plugins [NEW] My favorites| sign in | create your account  
proagora.com - .NET and Java jobs
Tool

Javassist

 Home Page Home Page

Categories: Compilation - Bytecode manipulation

Author: JBoss

Latest version: 3.6.0.GA
Added 2004-12-23Updated 2008-01-26

Class library for manipulation of Java bytecode.
Javassist (Java Programming Assistant) 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. If the users use the source-level API, they 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. You can even specify inserted bytecode in the form of 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.
Possible uses:
- Aspect Oriented Programming: Javassist can be a good tool for introducing new methods into a class and for inserting before/after/around advice at the both caller and callee sides.
- Reflection: One of the applications of Javassist is runtime reflection; Javassist enables Java programs to use a metaobject that controls method calls on base-level objects. No specialized compiler or virtual machine are needed.
- Remote method invocation: Another application is remote method invocation. Javassist enables applets to call a method on a remote object running on the web server. Unlike the Java RMI, the programmer does not need a stub compiler such as rmic; the stub code is dynamically produced by Javassist.

Built for Java
Built for Java
Library
Library
Free or free version available
Free or free version available
Source code provided
Source code provided
Advertise here! Contact us to know the options
Help the Java community get a consensus on great tools. Display your favorite tools on your own website or on your blog.
Keep track of your favorite tools. Build your personal watch list.
 
Advertise here! Contact us to know the options
Hosted by Arvixe
Java, J2EE, and all Java-based marks are trademarks or registered trademarks of Oracle.
This site is not affiliated in any way with Oracle.
part of the metaSapiens network: metaSapiens | Java Jobs | Fabrice's weblog | .NET tools | Java tools | Tuneo | LINQ book | MapShares | BD ind?pendante | Parking partag?