Byte Code Engineering with the JavaClass API
Report B 98-17
November 1998
Extensions and improvements of the programming language Java and its
related execution environment (Java Virtual Machine, JVM) are the
subject of a large number of research projects and proposals. There
are projects, for instance, to add parameterized types to Java, to
implement ``Aspect-Oriented Programming'', and to improve the run-time
performance.
Since Java classes are compiled into portable binary class files
(called byte code), it is the most convenient and
platform-independent way to implement these improvements not by
writing a new compiler or changing the JVM, but by transforming the
byte code. These transformations can either be performed after
compile-time, or at load-time. Many programmers are doing this by
implementing their own specialized byte code manipulation tools, which
are, however, restricted in the range of their re-usability.
To deal with the necessary class file transformations, we introduce an
API that helps developers to conveniently implement their
transformations.
Get the report in PDF format.