JavaTM 2 Platform
Standard Ed. 5.0

패키지 java.lang.instrument

Java 프로그램 언어 에이전트가 JVM 상에서 실행되고 있는 프로그램을 파악 할 수 있도록 하는 서비스를 제공합니다.

참조처:
          설명

인터페이스 개요
ClassFileTransformer 클래스 파일을 변환하기 위해서 이 인터페이스의 구현을 제공하는 에이전트.
Instrumentation 이 클래스는 Java 프로그램 언어 코드를 파악 하기 위한 서비스를 제공합니다.
 

클래스 개요
ClassDefinition 이 클래스는 Instrumentation.redefineClasses 메서드에 대한 파라미터 블록으로서 기능합니다.
 

예외 개요
IllegalClassFormatException 입력 파라미터가 무효인 경우에 ClassFileTransformer.transform 구현에 의해 발생 됩니다.
UnmodifiableClassException 지정된 클래스의 1개를 변경할 수 없는 경우, Instrumentation.redefineClasses 구현에 의해 발생 됩니다.
 

패키지 java.lang.instrument 설명

Java 프로그램 언어 에이전트가 JVM 상에서 실행되고 있는 프로그램을 파악 할 수 있도록 하는 서비스를 제공합니다. 인스트르멘테이션의 메카니즘은 메서드의 바이트 코드의 변경입니다.

패키지의 사양

JVM 시작시에 「에이전트 클래스」라고 그 「에이전트 옵션」을 지정해, 에이전트를 시작합니다.

에 이전트 클래스는은 기본적으로 main 어플리케이션 엔트리 포인트와 같은 public static premain 메서드를 구현할 필요가 있습니다.

public static voidpremain(String agentArgs, Instrumentation inst);

JVM가 초기화된뒤 각 premain 메서드는 에이전트가 지정된 순서에 호출합니다. 다음에 실제의 어플리케이션 main 메서드가 호출됩니다. 각 premain 메서드는 시작 순서가 실행되는 순으로 돌려주고지지 않으면 안됩니다. 에이전트 클래스는 어플리케이션 main 메서드를 포함한 클래스를 로드하는 것과 같은 클래스 로더로 로드 됩니다. premain 메서드는 어플리케이션 main 메서드와 같은 시큐러티 규칙과 클래스 로더 규칙아래에서 실행됩니다. 에이전트 premain 메서드의 실행 내용에 관한 모델링 제약은 없습니다. 생성 thread를 포함해 어플리케이션 main을 실행할 수 있는 것은 모두 premain로 유효합니다.

각 에이전트는 agentArgs 파라미터를 개입시켜 에이전트 옵션을 건네줍니다. 에이전트 옵션은 단일 캐릭터 라인으로서 건네받아 추가의 해석은 에이전트 자신에 의해 행해집니다.

에 이전트를 해결할 수 없는 (예를 들어에 이전트 클래스를 로드할 수 없는 혹은 에이전트 클래스가 적합한 premain 메서드를 가지지 않는등의 이유에 해) 경우, JVM는 중단됩니다. premain 메서드가 캐치 되지 않는 예외를 Throw 했을 경우, JVM는 중단됩니다.

커멘드 라인 인터페이스

관련 문서

툴의 메뉴얼에 대해서는 다음을 참조하십시오.

도입된 버전 :
JDK1. 5

JavaTM 2 Platform
Standard Ed. 5.0

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조하십시오.