我开发了一个神经网络程序,它已经运行了一周。我想检查java程序的进度,因为如果程序太接近完成程序就终止程序会很痛苦。有任何概念如这样?
答案 0 :(得分:4)
嗯,你怎么称呼“进步”?没有一般的“进展”定义。这是你的算法特有的。 您必须为此定义指标。也许这是你正在创建,处理的文件数量等等......可能是迭代次数(如果你知道程序将在固定次数的迭代后结束)。基本上,您必须知道程序何时停止,以及如何评估到此点的距离。
然后,您可以定期打印此指标的值以了解进度。
答案 1 :(得分:1)
以下是一些提示。
你可以使用一些java工具(如jstat)来监视JVM的GC,或使用jstack来查看jvm的Thread。
它不是100%准确,而是一个替代。
答案 2 :(得分:1)
如果您的应用程序没有内置进度报告,则无法完成。您可以使用thread dump来检查它实际上在做什么。
答案 3 :(得分:0)
只是一点点。您可以检查VisualVM工具(http://visualvm.java.net/)。它基本上连接到您的应用程序,您可以看到几个信息。这更像是分析器,但至少你可以看到你当前运行的应用程序是否存活。