您如何使用 intellij idea 编辑器分析 java 源代码? [关闭]

Posted

技术标签:

【中文标题】您如何使用 intellij idea 编辑器分析 java 源代码? [关闭]【英文标题】:how do you profile java source with intellij idea editor? [closed] 【发布时间】:2013-04-05 07:07:50 【问题描述】:

我知道 Netbeans 具有某种“集成”分析器,例如,您可以运行单元测试并使用它来分析并找出导致它们速度变慢的原因以及瓶颈所在。是否可以在 IntelliJ IDEA 编辑器中分析代码?

【问题讨论】:

据我所知只有一个免费的分析器集成:VisualVM。 显然有一个非免费的 JProfiler 插件,FWIW ***.com/a/21156875/32453 今天我已经在 INtellij IDEA 中安装了 VisualVM 插件......最初我遇到了一些问题,但是当我按照blog.idrsolutions.com/2013/05/… 中提供的说明进行操作时,我可以轻松配置 visualVM 另一个过于实际和有用的问题无法保持开放。 SO 应该支持带有答案集 N 的问题,其中来自集合的足够好的结果:[XYZ] 通过社区上升到顶部,其余的消失/需要额外的操作,因为自然衰减。再次通过社区。 “你真的要回答这个问题吗?因为已经有一个答案被评为非常好?” “是的,因为现在有更好的最佳答案。”我的意思是这在软件中永远不会发生,对吧? 仅供参考:在 IntelliJ IDEA v2018.3 Ultimate 版本中,JVM Profiler 作为实验性功能提供。见blog.jetbrains.com/idea/2018/09/… 【参考方案1】:

正如 Stephen Murby 所指出的“您的测试在 VisualVM 启动之前完成的问题”。

是的,这个VisualVMLauncher plug-in 在 VisualVM 启动之前不会暂停您的测试用例。您可能还需要时间手动更改特定于测试的分析设置。解决方案很简单,您的测试用例必须停止并等待,直到您手动告诉它继续。有几种方法可以做到:

1) 把 System.in.read();作为测试用例的第一行并且 VisualVM 已准备就绪,请在控制台按 Enter。

System.in.read();

2) 如果测试用例运行器没有为您提供控制台,请等待创建某个魔术文件。

3) 你总是可以轻松地使用 sleep()

sleep(5 seconds);

这种解决方法不是很方便,但对我有用,因为需要偶尔进行分析。问题的根本原因在于 IDEA 和 VisualVM 的插件架构不被认为是协作的。见discussion with plug-in author 希望对您有所帮助。

【讨论】:

【参考方案2】:

您可以通过a plug-in 尝试免费的 VisualVM 分析器集成。

【讨论】:

看起来如果你购买 IntelliJ “ultimate”,据说它还包含一个内置的 YourKit 分析代理。不是免费的,但包括在内,所以我想与我原来的问题有关:) 不,YourKit 代理将允许您在联系支持人员遇到性能问题时拍摄 CPU/内存快照,而不是分析器本身会花费您 500 美元以上。 @rogerdpack 为什么不直接打开 VisualVM(您已经通过 jdk 安装了它),选择您的应用并按下配置文件? Krasa 的 VisualVM Launcher 插件启动的 VisualVM 的问题:1) 在开始测试时已经完成。 2) 动态分析会产生热点并且难以读取 CPU 时间统计信息。 VisualVM 中有一个“编辑配置”复选框,但我看不到如何要求插件以正确的方式开始测试 - 等到 VisualVM 启动并准备好 - 将测试特定的分析配置加载到 VisualVM - 运行测试代码 @smile-on 在 VisualVM 启动之前,您的测试完成问题您是否找到了解决方案?我自己也有同样的问题。

以上是关于您如何使用 intellij idea 编辑器分析 java 源代码? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

使用JUnit配置IntelliJ IDEA以进行单元测试

如何在 IntelliJ IDEA 中设置文件管理器?

IntelliJ IDEA Ultimate 使用C/C++插件之后的编辑文字会卡?

如何让 IntelliJ IDEA 在文件的每一端插入一个新行?

如何在IntelliJ IDEA中的特定代码块内搜索?

IntelliJ IDEA:增加编辑器右侧的栏大小