728x90
출처 : https://blog.xenomity.com/Summary-Java-Agent-Bytecode-Instrumentation/
What are Java(JVM) Agent?
JVM Agent는 JVM에서 동작하는 Java 어플리케이션으로 JVM의 다양한 이벤트를 전달받거나 정보 질의, 바이트 코드 제어 등을 특정 API(Instrumentation API -java.lang.instrument-)를 통하여 수행할 수 있다.
보통 개발 도구 또는 모니터링 도구 개발에 응용된다.
바이트 코드 변조를 통한 개발의 편의성을 제공하는 AspectJ의 LTW(Load Time Weaver)나 Lombok과 같은 오픈소스가 대표적인 Java Agent의 활용 예이다.
Features
Agent는 지정된 JVM의 실행 가능한 최초 진입점인 ‘main’ 메서드를 가로채기 할 수 있다.
지정된 JVM에서 실행된다.
지정된 JVM의 동일한 System Class Loader 내에서 로드된다.
지정된 JVM의 Security Policy 및 Context의 영향을 받는다.
실행시간에 동적으로 bytecode를 조작할 수 있다.
Agent의 단일 진입점은 위와 같이 ‘premain’ 메서드를 구현하면 되며 바이트 코드를 포함한 추가적인 정보 수집 도구로 Instrumentation 인터페이스를 제공받을 수 있다.
728x90
'IT > MiddleWare(WEB WAS)' 카테고리의 다른 글
[JEUS]JEUS 7,8 WEBADMIN IP 접속 제한 (0) | 2020.12.29 |
---|---|
[WEBTOB/JEUS]cookie SameSite 이슈 (chrome 80) (0) | 2020.12.22 |
[JAVA] BCI (Byte Code Instrumentation) ?? (0) | 2020.12.22 |
[WEBTOB]Compression 설정 (0) | 2020.12.17 |
[JEUS] 6버전 세션클러스터 구성 시 주의사항 (0) | 2020.12.04 |