JavaAgent 란? JVM 에서 동작하는 Java 어플리케이션으로 JVM의 다양한 이벤트를 전달받거나 바이트코드 제어 등을 특정 API를 통하여 수행할 수 있습니다. 또한 JavaAgent는 JDK1.5부터 제공하는 자바 instrumentation API로 소스코드의 변경없이 런타임 중에 자바 바이트 코드를 변조할 수 있게 하는 강력한 기능을 제공합니다. 자바 코드는 결국 바이트 코드로 변환이 된 후에 JVM이 바이트 코드를 읽어 실행이 됩니다. 즉 최종적으로 바이트 코드 내용으로 실행이 되기 때문에 바이트 코드를 조작한다면, 개발자가 최초로 작성한 코드와 다른 결과가 나올 수 있습니다. Java agent가 클래스파일을 직접 바꾸는 것이 아닌, 실행 후 JVM에 클래스로딩이 이루어지는 시점에 동작..