|
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 も参照してください。