在cmd提示符中观察Java代码的运行时间

时间:2012-09-11 10:06:14

标签: java instrumentation

我手里有一个java类文件,可以简单地从windows cmd运行它来查看输出。我只需要根据不同的输入参数来观察这个java程序的运行时间。我没有源代码,所以我不能修改它来为我生成运行时间。请建议可能的方法来观察这一点。提前谢谢。

3 个答案:

答案 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.