我手裏有一個java類文件,可以簡單地從windows cmd運行它來查看輸出。我只需要根據不同的輸入參數來觀察這個java程序的運行時間。我沒有源代碼,所以我不能修改它來爲我生成運行時間。請建議可能的方式來觀察這一點。提前致謝。在cmd提示符下觀察Java代碼的運行時間
回答
將它包裝在另一個類中並運行它。例如,如果你的類(要不要有代碼)被稱爲亞軍,那麼你可能是當前正在運行它作爲
java -jar jarContainingRunner.jar 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
然後,它將運行亞軍的run方法(假設是要時間的方法)並輸出花費的時間。
我試過了,發現通過這種方式我無法獲得MyClass.class的實際運行時間,因爲它一直在後臺運行並繼續運行。雖然MyClassRunner只能顯示其本身的運行時間。任何其他想法? – joarderm
MyClass.class是否啓動一個單獨的線程? – RNJ
嗨,很抱歉這個晚期的帖子。我已經在Windows Power Shell命令的幫助下找到了解決方案,並且在這裏。 PS C:\>測量命令{的java MyClass的1000 1234} 天數:0 小時數:0 分鐘:0 秒:0 毫秒:692種 蜱:6925010個 TotalDays: 8.01505787037037E-06 TotalHours:0.000192361388888889 TotalMinutes:0.0115416833333333 TotalSeconds:0.692501 TotalMilliseconds:692.501 其中1000是輸入大小,1234是隨機數種子。 – joarderm
你可以做的是你可以寫一個批處理文件,在那裏你可以調用你的java類,但在此之前在變量中保存開始時間並在課後完成subtract
它與開始時間。
你可以編寫一個簡單的Java程序來觀察這個。 在新代碼中使用運行時執行並觀察執行時間。
的這個新代碼的樣本概述:
//... before your class runs.
Runtime.getRuntime().exec("java -jar yourClass");
//... after your class runs.
我試過了,發現通過這種方式我無法獲得MyClass.class的實際運行時間,因爲它總是在後臺運行並繼續運行。雖然MyClassRunner只能顯示其本身的運行時間。任何其他想法? – joarderm
- 1. Javascript運行時間函數觀察者
- 2. 未在cmd提示符下運行時OpenGL不顯示正確的輸出
- 3. 運行代碼時的顯示時間
- 4. 在VS cmd提示符下運行.bat文件
- 5. 通過Java代碼運行.cmd文件
- 6. 如何在C盤不是默認的CMD提示符時運行Java?
- 7. 代碼在命令提示符下運行但不在eclipse中運行
- 8. 作爲一個命令,它可以從cmd提示符運行正常,但不能從java代碼運行
- 9. 在Java中避免instanceof運算符的同時觀察多個觀測值?
- 10. 保持區間可觀察運行中的Java
- 11. 在Java 8下運行時,此Groovy代碼無法運行
- 12. 如何在運行我的.exe文件時停止cmd提示符顯示
- 13. 如何觀察MPI程序所有進程的運行時間
- 14. 運行時的Java外觀
- 15. 代碼運行時間
- 16. 觀察者未運行
- 17. Java觀察者和可觀察的
- 18. 觀察SQL正在運行的查詢
- 19. 在cmd中通過java代碼運行一個類
- 20. 如何在Windows環境下使用cmd從java代碼運行sox命令
- 21. 當我運行下面的Java代碼
- 22. 如何使用機器人框架在CMD提示符下運行命令
- 23. 長時間運行查詢:觀察部分結果?
- 24. java在eclipse中運行,但不會在命令提示符下運行
- 25. 如何在命令提示符下運行Java程序
- 26. 如何在命令提示符下運行一個java程序
- 27. 批處理文件:打開CMD,運行VS命令提示符下,執行Makecert
- 28. 如何在cmd提示符下執行node.js?
- 29. Java的觀察和可觀察何時刪除
- 30. 證明下面的代碼在Θ(nlogn)時間運行
你可以發佈你正在努力儀器類的代碼? – RNJ