与免费的 Java 分析器相比,商业 Java 分析器有哪些优势?Netbeans 中的那个?

StackOverflow https://stackoverflow.com/questions/490858

  •  20-08-2019
  •  | 
  •  

有时我必须对 Java 代码进行一些分析工作,我想知道为什么我应该让我的老板使用商业分析器进行调查,而不是只使用 Netbeans 或 JConsole 中的分析器?

值得投资的杀手级功能是什么?

有帮助吗?

解决方案

我有同时使用的NetBeans探查还有JProbe经验。对于性能分析我发现Netbeans的非常有用的,但在那里JProbe的优越是内存分析。

的JProbe具有用于比较堆快照和查找内存泄漏的根源优越的工具。例如,在JProbe的可以直观地查看堆shapshots为曲线图,选择节点,调查,然后删除引用,以查看是否该实例然后可以垃圾收集。

其他提示

在我与JProfiler的经验,它只是一个全方位比对NetBeans Profiler雨衣经验。它很容易上手,更易于理解的信息,虽然我还没有测量它,它似乎JProfiler的少对应用程序的性能被分析产生负面影响。

另外,用的JProfiler IntelliJ IDEA的很好地集成。我不得不使用NetBeans使用NetBeans分析器,这是不便,因为我不得不手动配置一个自由形式的项目相匹配我的项目的布局。

对NetBeans Profiler是可用的。不同的IntelliJ,我不会买一个牌照的JProfiler为我的个人项目,因为不像一个IDE,它不是你每天使用一整天的工具。然而,对于有报酬的工作,我们没有理由不买更好的工具。相比的开发者的时间的成本是不贵。

如果您已经在使用 Netbeans,那么启动探查器很容易(除非您使用的是基于 Maven 的项目...叹)。

我使用过付费分析器以及 Netbeans 分析器。Netbeans 做得足够好(刚推出时有点粗糙......但现在好多了)。

我分析的代码并不大,所以我不能说花在分析上的时间是否是一个主要因素。

答案非常主观,完全取决于您的需求。看点:

1) 在您的环境中易于使用(对于 NetBeans,内置分析器可能是最简单的。

2) 启动 prfiler 所花费的时间,使其真正获得可用的结果

3)它是采样还是跟踪分析器?(概述如下: http://docs.hp.com/en/5992-0757/ch05s01.html

4) 您可以实时查看结果还是必须等待分析完成?

以下是关于 Java 分析器的 slimdot 讨论的链接: http://ask.slashdot.org/article.pl?sid=06/06/30/0053237

我没有使用过 Netbeans profiler,但尝试过 JProfiler、Yourkit 和 JProbe。我发现Yourkit稍微好一些(主要是因为可用性方面而购买的)。其中一些有用的功能是:(您可以检查Netbeans中是否可用)

  • J2EE 分析(例如它显示 SQL 查询花费了多少时间)。
  • 快照比较和注释
  • 死锁检测器
  • 异常遥测

您可以在他们的网站上查看更多详细信息 地点.

我要说的是,准备使用和更多的性能统计数据。我是去年分配分析工作,当我在一家跨国公司实习。我用它使用Java面向方面的API(两者的AspectWerkz和AspectJ的作品)的红外分析器。但是,我不得不延长探查让我的经理想要的东西。此外,由简给出的性能统计信息是有限的。

但是选择探查之前我研究几个其他开源廓。他们中的一些小事,并没有适合我们想要的东西。

我还想补充一点,有些人只是不工作。例如,如果我们想收集Web应用程序的性能统计信息,所有的剖析犯规支持我们需要这些统计数据。

通过一个完全独立的分析器,它更容易将其与你的工具链其他应用程序集成。例如,假设你想要运行的分析器作为你的构建过程中(比如,曾经一个晚上)的一部分。像JProfiler的东西很容易与ANT集成,而内置的IDE分析器可能会或可能不会。如果你有一个独立的编译机,安装探查的本地副本是有道理的,但安装一个整体IDE只是为了得到一个组件访问没有。

如果您使用的是Tomcat,你可能会考虑lambdaprobe

http://www.lambdaprobe.org/

(它是免费)

根据我的经验,YourKit 分析器是最有用的一个。可用性方面的小事情确实很重要,但也是最全面的,包含:

  • 最全面、最可用的内存快照(也适用于 1GB 以上的堆),包含每个对象的详细对象视图和原始数据。(例如,在哈希图中,您可以看到对象是否均匀分布或大多数存储在同一个存储桶中!)内存快照的这一细节及其易用性是我使用 yourkit 的主要原因。
  • 开销非常小(远低于我使用的许多其他分析器)
  • 比较快照
  • J2EE 分析
  • 死锁检测器,锁状态(我认为它仍然错过了 java.concurrent.locks,同步它很棒)

除此之外,它也在不断改进,所以谁知道未来会持有什么:)

比较特征,看看你是否真的需要通过商业软件在免费的提供的功能。如果是的话那么它的投资价值。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top