我手里有一个java类文件,可以简单地从windows cmd运行它来查看输出。我只需要根据不同的输入参数来观察这个java程序的运行时间。我没有源代码,所以我不能修改它来为我生成运行时间。请建议可能的方法来观察这一点。提前谢谢。
答案 0 :(得分: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方法(假设这是你想要的方法)并输出它所花费的时间。
答案 1 :(得分:0)
你可以做的是你可以写一个批处理文件,你可以在那里调用你的java类,但是在这个保存开始时间之前变量和课后完成subtract
它的开始时间。
答案 2 :(得分:0)
您可以编写一个简单的Java程序来观察它。 在新代码中使用运行时执行并观察执行时间。
此新代码的示例概述:
//... before your class runs.
Runtime.getRuntime().exec("java -jar yourClass");
//... after your class runs.