Подтвердить что ты не робот

Учебники по javaagents

Я хотел бы узнать кое-что о javaagents, но исследование непросто. Большая часть результата относится к JADE. Я знаю, что java-агент может означать две вещи:

  • Агент, запрограммированный на Java, является воплощением агента концепция распределенных систем.
  • Программный компонент низкого уровня для увеличения работы JVM, такой как профилировщики, инструменты покрытия кода и т.д.

Я нашел аналогичный вопрос здесь, но, к сожалению, он также относится к версии 1.

Знаете ли вы какие-либо статьи, учебные пособия для начинающих, образец проекта о javaagent в версии 2? Я нашел один здесь, но я ищу больше.

4b9b3361

Ответ 1

Второй случай говорит о API инструментария Java - эта ссылка указывает на Javadoc, который довольно описателен.

А вот полная инструкция и пример создания Java-инструментария.

Основная концепция:

  • Внедрите статический метод premain (как аналог main), например:

    import java.lang.instrument.Instrumentation;
    
    class Example {
        public static void premain(String args, Instrumentation inst) {
            ...
        }
    }
    
  • Создайте файл манифеста (скажем, manifest.txt), обозначающий этот класс для предварительного основного исполнения. Его содержание:

    Premain-Class: Example
    
  • Скомпилируйте класс и упакуйте этот класс в архив JAR:

    javac Example.java
    jar cmf manifest.txt yourAwesomeAgent.jar *.class
    
  • Выполните свою JVM с помощью параметра -javaagent, например:

    java -javaagent:yourAwesomeAgent.jar -jar yourApp.jar