【发布时间】:2014-10-15 12:15:45
【问题描述】:
在使用 VisualMV 等工具进行分析时,程序应该以什么顺序运行?我要分析的程序运行速度相对较快,不会等待用户关闭它。并不是说我可以真正快速启动程序,切换到 VisualVM 并启动分析过程,而无需先终止程序。
我所做的是在我的程序中添加了一行额外的代码,提示用户按 Enter 键开始。所以我启动我的程序,当它显示“按 Enter”时,我转到 VisualVM,找到正确的进程,转到分析选项卡并单击 CPU。 VisualVM 完成设置后,我将返回我的程序并按 Enter 键启动它。这是正确的吗?还是应该以不同的顺序完成?
显然分析只适用于当时正在运行的程序部分,对吧?
【问题讨论】:
-
出于好奇,如果这个应用程序运行速度如此之快,传统的分析步骤不适用,您希望修复什么?
-
传统的分析步骤如何不适用?
-
我的意思是,通常情况下,由于某些性能问题,您在运行时对应用程序进行分析,或者作为检测内存泄漏或低效线程等的预防措施......但在您的情况下,代码似乎执行得很快,并且没有问题地关闭。鉴于此,您希望学习什么/您要解决的问题是什么?
-
我有 3 种替代方法来实现相同的方法,所以这就是我正在测试的(在一个单独的项目中)。
-
visualvm.java.net/eclipse-launcher.html 是一个Eclipse 插件,用于与应用程序一起启动jVisualVM,但它不能解决程序运行时间短的问题。 Tomas Hurka 建议的“启动分析器”在这里似乎更合适(+1,也许我现在可以删除我偶尔插入的
for (1..10) { sleep(1000); }循环,以便在启动后有足够的时间设置 jVisualVM 配置......)