当前页面: 
在线文档首页 > 
JDK 5 Documentation v6.0, Java 2 SDK 英文文档
Enhancements in JVM TI - JDK 5 Documentation v6.0, Java 2 SDK 英文文档
|   | Enhancements in JDK 6JavaTM Virtual Machine Tool Interface (JVM TI)
 | Contents | 
The following functionality has been added to the 
JVM
TM tool interface (JVM TI)
between its initial release in JDK 5.0 and JDK 6.
- Support for transformation of class files -
To facilitate dynamic transformation of classes which have already been loaded, the 
RetransformClassesfunction has been added.  It is suited to operations such as adding instrumentation
to methods.  
Support for retransformation means that access to the original class file is no longer
required in order to instrument loaded classes.
It can easily remove the applied transformation and it is designed to 
work in a multi-agent environment.
 
- Enhanced heap walking support -
More powerful and flexible 
heap functionality
has been added.  The new functionality:
  
    - allows access to primitive values (the value of Strings, arrays, and primitive fields)
- allows the tag of the referrer to be set, thus enabling more efficient localized reference graph building
- provides more extensive filtering abilities
- is extensible, allowing abilities to grow in future versions of JVM TI
 TheFollowReferencesandIterateThroughHeapfunctions
have been added along with supporting types and constants.
The previous functionality is still supported but its use is discouraged.
 
- More class information -
The new
GetConstantPool,GetClassVersionNumbersandIsModifiableClassfunctions provide additional information about a class.
 
- Support for instrumenting native methods -
The new 
SetNativeMethodPrefixandSetNativeMethodPrefixesfunctions
allow native methods to be instrumented by providing a JVM-aware mechanism for wrapping the native method.
 
- Enhanced support for instrumentation under the system class loader -
The new 
AddToSystemClassLoaderSearchfunction allows instrumentation support classes to be defined by the system class loader.
 
- Support for early return from a method -
The new 
force early return
functions allow debugger-like tools to force a method to return from any point
in its execution.
 
- Monitor stack depth information -
The new 
GetOwnedMonitorStackDepthInfofunction provides information about the monitors owned by the specified thread and the depth of the stack frame which locked them.
 
- Support for resource exhaustion notification -
The new 
ResourceExhaustedevent notifies the JVM when a critical resource (such as the JavaTM
platform heap) has been exhausted.
 
Other changes between JDK 5.0 and JDK 6 include new error codes, a revised definition for field index, allowing
AddToBootstrapClassLoaderSearch
to be called in the live phase, and
considerable specification clean-up and clarification.
For detailed information about the changes, see the
Change History.