javaagent란?
-javaagent:<jarpath>[=<options>] Java 프로그래밍 언어 에이전트를 로드합니다. java.lang.instrument를 참조하십시오
Java
복사
JVM 에서 동작하는 Java 어플리케이션으로 JVM의 다양한 이벤트를 전달받거나 정보 질의, 바이트코드 제어 등을 특정 API를 통하여 수행할 수 있습니다.
특징
•
Agent는 지정된 JVM의 실행 가능한 최초 진입점인 main 메서드를 가로채기 할 수 있습니다.
•
지정된 JVM에서 실행됩니다.
•
지정된 JVM의 동일한 System Class Loader내에서 로드됩니다.
•
지정된 JVM의 Security Policy 및 Context의 영향을 받는다.
•
실행시간에 동적으로 bytecode를 조작할 수 있습니다.
사용 메소드
public static void premain(String agentArgs, Instrumentation inst);
public static void premain(String agentArgs);
Java
복사
•
Agent의 단일 진입점은 premain메서드를 구현하면 되고 바이트 코드를 포함한 추가적인 정보 수집 도구로 Instrumentation 인터페이스를 제공받을 수 있습니다.
MANIFEST
Java Agent 패키지는 일반적인 executable-jar 와 생성방식이 동일하지만 MANIFEST(META_INF/MANIFEST.MF)명세는 약간 차이가 있습니다.
Search