Интерфейс виртуальных машин Java (JVMTI или, точнее, JVM TI) был представлен в J2SE 5.0 ( Tiger ). Этот интерфейс позволяет программе проверять состояние и контролировать выполнение приложений, работающих на виртуальной машине Java (JVM). JVMTI предназначен для предоставления интерфейса прикладного программирования (API) для разработки инструментов, которым необходим доступ к состоянию JVM. Примерами таких инструментов являются отладчики или профилировщики . [1]
JVMTI — это собственный интерфейс JVM. Библиотека, написанная на C или C++ , загружается во время инициализации JVM. [2] Библиотека имеет доступ к состоянию JVM путем вызова функций JVMTI и JNI ( Java Native Interface ) и может регистрироваться для получения событий JVMTI с помощью функций обработчика событий, которые вызываются JVM при возникновении такого события.
JVMTI был определен в рамках процесса сообщества Java в JSR-163, спецификации архитектуры профилирования платформы Java. JVMTI заменяет JVMPI (интерфейс профилирования виртуальной машины Java) и JVMDI (интерфейс отладки виртуальной машины Java). JVMPI и JVMDI объявлены устаревшими в J2SE 5.0 и удалены в Java SE 6.
JVMTI — это самый низкий уровень архитектуры отладчика платформы Java .