JVisualVM和Java Mission Control有什么区别?

除了来自Java任务控制的更“高级”的GUI之外,它们有什么不同?

乍一看,它们似乎提供了非常相似的功能(解释JMX数据和内存/CPU分析)。

但是,由于它们都随JDK一起提供(我使用的是JDK 1.7.0_51 SE),因此我假设存在显着差异,否则它们将被组合成一个解决方案。特别是因为这大大增加了JDK的大小。

Java Mission Control最终会在未来取代JVisualVM吗?


答案 1

重要的一点是,任务控制可能无法在生产环境中免费使用。它对在DEV和QA中运行的应用程序是免费的,Oracle目前没有对生产应用程序强制执行费用(截至2014年11月)。然而,他们的高管已经明确表示,这可能会随着时间的推移而改变。


答案 2

Java Mission Control 的 JMX Console 部分就像任何其他 JMX 控制台一样。我当然有偏见,但在我看来,它是功能更丰富的控制台之一。JMC更独特的部分是Java飞行记录器部分。

JMC以生产系统为目标,并且非常小心地避免引入不必要的开销。使用 Java 飞行记录器,您可以以几乎无法衡量的开销进行生产时间分析和诊断。


推荐