HOME

TheInfoList



OR:

Java Virtual Machine Tool Interface (JVMTI, or more properly, JVM TI) was introduced in J2SE 5.0 (''Tiger''). This
interface Interface or interfacing may refer to: Academic journals * ''Interface'' (journal), by the Electrochemical Society * '' Interface, Journal of Applied Linguistics'', now merged with ''ITL International Journal of Applied Linguistics'' * '' Int ...
allows a
program Program, programme, programmer, or programming may refer to: Business and management * Program management, the process of managing several related projects * Time management * Program, a part of planning Arts and entertainment Audio * Progra ...
to inspect the state and to control the execution of applications running in the
Java Virtual Machine A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally describes ...
(JVM). JVMTI is designed to provide an
Application Programming Interface An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how t ...
(API) for the development of tools that need access to the state of the JVM. Examples for such tools are
debugger A debugger or debugging tool is a computer program used to software testing, test and debugging, debug other programs (the "target" program). The main use of a debugger is to run the target program under controlled conditions that permit the pr ...
s or profilers. The JVMTI is a native interface of the JVM. A library, written in C or
C++ C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
, is loaded during the initialization of the JVM. The library has access to the JVM state by calling JVMTI and JNI (
Java Native Interface In software design, the Java Native Interface (JNI) is a foreign function interface programming framework that enables Java code running in a Java virtual machine (JVM) to call and be called by native applications (programs specific to a hardwa ...
) functions and can register to receive JVMTI events using event handler functions that are called by the JVM when such an event occurs. JVMTI was defined through the
Java Community Process The Java Community Process (JCP), established in 1998, is a formalized mechanism that allows interested parties to develop standard technical specifications for Java technology. Anyone can become a JCP Member by filling a form available at thJCP w ...
by JSR-163, the specification for the Java Platform Profiling Architecture. The JVMTI replaces the JVMPI (Java Virtual Machine Profiling Interface) and the JVMDI (Java Virtual Machine Debug Interface). The JVMPI and the JVMDI are declared as being deprecated in J2SE 5.0 and were removed in Java SE6. JVMTI is the lowest-level of the
Java Platform Debugger Architecture The Java Platform Debugger Architecture (JPDA) is a collection of APIs to debug Java code. * Java Debugger Interface (JDI) – defines a high-level Java language interface that developers can easily use to write remote debugger application tools. ...
.


External links

*
Creating a Debugging and Profiling Agent with JVMTI


References

{{Reflist Java development tools Java specification requests Java virtual machine