1

즉석에서 계측을 구현해야하는 기술은 무엇입니까? 지금까지, 나는 바이트 코드 계측을위한 aspectj와 javassits에 대해 연구했다.즉시 바이트 코드 계측을 실현하는 방법

+0

나는이 질문을 너무 광범위하게 (그리고 내가 투표 한 유일한 사람이 아니기 때문에) 닫도록 투표했다. BTW, Vimlesh, AspectJ 장비는 LTW를 통해 즉석에서 작동합니다. 또한 직조 에이전트없이 런타임 중에 수동으로 수행 할 수있는 API도 있습니다. – kriegaex

+0

먼저 클래스의 바이트 코드를 처리하는 방법 (바이트 코드 조작이라고도 함)을 원하는지 또는 클래스를 즉시 업데이트하는 방법 (Instrumentation이라고도 함)을 알고 싶은지 또는 둘 다 제공하는 라이브러리를 검색하는지 여부를 결정해야합니다 함께. 그리고 나서 우리는 튜토리얼이나 도서관 검색 시설이 아니기 때문에 이러한 모든 질문이 주제와 관련이 없다고 생각할 수 있습니다. – Holger

+0

Holger, 여기 '진행중인 계측'은 프로세스가 실행 중일 때 이미 계측 된 코드를 변경하는 것을 의미합니다. 예를 들어 System이 올라 오면 com.foo.bar .. * 패키지를 만들었고 런타임에 프로세스가 실행 중일 때 com.foo.weaveme .. *에 웨이브를 추가하고 com.foo의 위빙을 제거하려고합니다 .바..*. pocess를 다시 시작하지 않고 직조해야합니다. –

답변

0

내 라이브러리 Byte Buddy을 사용하면 자바의 클래스 로딩 절차에 따라 쉽게 Java 에이전트를 정의 할 수 있습니다.

일반적으로 어떤 접근 방식이 가장 적합한 지 결정하기 위해 수행해야하는 작업에 따라 다릅니다. Javassist와 Byte Buddy는 런타임에 작동합니다. AspectJ는 많은 사람들이 무거운 무게를 고려하는 컴파일러를 필요로한다. Byte Buddy에 대한 자습서는 the webpage을보십시오.