|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のパッケージ 次のパッケージ | フレームあり フレームなし |
参照先:
説明
インタフェースの概要 | |
---|---|
ClassFileTransformer | クラスファイルを変換するために、このインタフェースの実装を提供するエージェント。 |
Instrumentation | このクラスは、Java プログラミング言語コードを計測するためのサービスを提供します。 |
クラスの概要 | |
---|---|
ClassDefinition | このクラスは、Instrumentation.redefineClasses メソッドに対するパラメータブロックとして機能します。 |
例外の概要 | |
---|---|
IllegalClassFormatException | 入力パラメータが無効な場合に、ClassFileTransformer.transform の実装によりスローされます。 |
UnmodifiableClassException | 指定されたクラスの 1 つを変更できない場合、Instrumentation.redefineClasses の実装によってスローされます。 |
Java プログラミング言語エージェントが JVM 上で実行されているプログラムを計測できるようにするサービスを提供します。インストゥルメンテーションのメカニズムは、メソッドのバイトコードの変更です。
JVM の起動時に「エージェントクラス」とその「エージェントオプション」を指定して、エージェントを起動します。
エージェントクラスはは、基本的に main
アプリケーションエントリポイントと同様の public static premain
メソッドを実装する必要があります。
public static voidpremain(String agentArgs, Instrumentation inst);
JVM が初期化されたあと、各 premain
メソッドは、エージェントが指定された順に呼び出されます。次に、実際のアプリケーション main
メソッドが呼び出されます。各 premain
メソッドは、起動シーケンスが実行される順に返されなければなりません。エージェントクラスは、アプリケーション main
メソッドを含むクラスをロードするのと同じクラスローダでロードされます。premain
メソッドは、アプリケーション main
メソッドと同じセキュリティ規則とクラスローダ規則の下で実行されます。エージェント premain
メソッドの実行内容に関するモデリング制約はありません。生成スレッドを含め、アプリケーション main
が実行できることは、すべて premain
で有効です。
各エージェントは、agentArgs
パラメータを介してエージェントオプションを渡します。エージェントオプションは単一文字列として渡され、追加の解析はエージェント自身により行われます。
エージェントを解決できない (たとえば、エージェントクラスをロードできない、あるいはエージェントクラスが適合した premain
メソッドを持たないなどの理由により) 場合、JVM は中断されます。premain
メソッドがキャッチされない例外をスローした場合、JVM は中断されます。
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のパッケージ 次のパッケージ | フレームあり フレームなし |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。