JVisualVM和Java Mission Control有什么区别?

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

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

但是,因为它们都是与JDK一起发布的(我使用的是JDK 1.7.0_51 SE),所以我假设它们之间存在显着差异,否则它们将合并成一个解决scheme。 特别是因为这大大增加了JDK的大小。

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

重要的一点是,任务控制可能不会在生产环境中自由使用。 对于在DEV&QA中运行的应用程序是免费的,而Oracle目前不对生产应用程序执行收费(截至2014年11月)。 不过,他们的高pipe们已经明确表示这可能会及时改变。

Java Mission Control的JMX控制台部分就像任何其他的JMX控制台一样。 我当然有偏见,但在我看来,它是可用的function更丰富的控制台之一。 JMC更独特的部分是Java Flight Recorder部分。

JMC的目标是生产系统,并且非常小心地避免引入不必要的开销。 使用Java Flight Recorder,您可以进行生产时间分析和诊断,而且几乎不可估量的开销。