VM Agents and JVM TI
The
JDK 5.0 (Tiger)
and
JDK 6.0 (Mustang)
binary images include the source and binaries of quite a few
demo
Java Virtual Machine Tool Interface (JVM TI)
agents (native libraries) in the demo/jvmti directory.
The more curious people might be interested in the
detailed description
in my blogs.sun.com site on
using VM agents.
Certainly writing VM Agents is not something that we want thousands
of people doing, besides everyone wants to write in Java anyway,
right?
But for anyone that needs the tool functionality we certainly
have it now in JDK 5.0.
The
DVM Agent for use with Solaris Dynamic Tracing (DTrace)
is a good example of the capabilities of JVM TI.
The
Heap Profiling Agent (HPROF)
in JDK 5.0 uses JVM TI
as does the debugger backend that implements the
Java Debugger Wire Protocol (JDWP).
JVM TI in combination with
Java Native Interface (JNI)
creates a very robust and complete
set of native interfaces for agent development.
Tools written in Java can use the
Java Debug Interface (JDI)
and
java.lang.instrument
(which was added in JDK 5.0 and uses JVM TI under the covers).
In the future expect to see extensions to both these Java
level interfaces, all courtesy of the basic functionality of JVM TI
and JNI.
We are also interested in adding useful tool demos to the JDK
or improving the ones we have, so if you have an idea for a useful agent or tool,
consider creating a java.net project and/or contributing it to
the JDK.
For anyone converting older JVMPI agents to JVM TI, there is an article on
The JVMPI Transition to JVM TI.
- Login or register to post comments
- Printer-friendly version
- kellyohair's blog
- 1222 reads





