手元にJavaクラスファイルがあり、Windowscmdから実行して出力を表示できます。さまざまな入力パラメータに応じて、このJavaプログラムの実行時間を監視する必要があるだけです。ソースコードがないので、実行時間を生成するように変更することはできません。これを観察するための可能な方法を提案してください。前もって感謝します。
質問する
661 次
3 に答える
1
それを別のクラスにラップして実行します。たとえば、クラス (コードを持っていない) が Runner と呼ばれる場合、現在は次のように実行している可能性があります。
java -jar jarContainingRunner.jar Runner
Runner を呼び出す別のクラスを作成すると、そのクラスで何でも実行できます。たとえば、InstrumentedRunner クラスを呼び出すことができます。
public class InstrumentedRunner {
public static void main(String... arg) {
long start = System.currentTimeMillis();
new Runner().run();
long dur = System.currentTimeMillis() - start;
System.out.format("Runner took %s milliseconds", dur);
}
}
(上記のコードはテストしていません。)
その後、実行できます
java -jar jarContainingRunner.jar;jarContainingInstrumentedRunner.jar instrumentedRunner
次に、Runner の run メソッドを実行し (それが時間測定を行うメソッドであると仮定します)、かかった時間を出力します。
于 2012-09-11T10:11:05.963 に答える
0
あなたができることは、バッチファイルを書き、そこでJavaクラスを呼び出すことができますが、この前に開始時間を変数に保存し、クラスの後に開始時間で終了subtract
することです。
于 2012-09-11T10:13:00.630 に答える
0
これを監視する簡単な Java プログラムを作成できます。新しいコード内でランタイム実行を使用し、実行時間を観察します。
この新しいコードのサンプル概要:
//... before your class runs.
Runtime.getRuntime().exec("java -jar yourClass");
//... after your class runs.
于 2012-09-11T10:14:01.610 に答える