我手里有一个 java 类文件,可以简单地从 windows cmd 运行它来查看输出。我只需要根据不同的输入参数观察这个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 回答