среда, 4 мая 2011 г.

JVM(ТМ) Tool Interface

Это интерфейс доступа к виртуальной машине джава для утилит разработки и мониторинга(н-р: дебаг, профайлинг, мониторинг работы приложения, аналитика нитей).


Есть два вариант обращения к этому интерфейсу, первый это клиентский -- такие приложения называются агентами и запускаются в одном процессе с виртуальной машиной, они реагируют на события интерфейса. Можно запускать процесс, который будет влиять извне на агент, который просто и очень быстро общается с виртуальной машиной, потому что находится в одном процессе с ней.
Они пишутся на языках С или С++, и имеют платформоспецифичный формат: на винде dll-библиотеки, на соларисе so-библиотеки. Можно использовать напрямую этот интерфейс или же воспользоваться наследниками более высоких уровней, например Java Platform Debugger Architecture.
Другой вариант -- это использование функций интерфейса, он характерен тем, что не нужно ничего ждать от виртуальной машины, а влиять на нее в тот момент когда нужно. На практике вместе с функциям используются и события.

Агенты подключаются через такие параметры командной строки ланчера:
-agentlib:=
-agentpath:= 
 
Если же запуск ланчера где-то глубоко зарыт в скрипте запуска, то можно разместить путь к агентам в системной переменной PATH-а под названием JAVA_TOOL_OPTIONS.

Комментариев нет:

Отправить комментарий