2014-05-10 131 views
39

除了來自Java任務控制的更高級的GUI之外,它們又有什麼不同呢?JVisualVM和Java Mission Control有什麼區別?

乍一看,它們似乎提供了非常類似的功能(解釋JMX數據和內存/ CPU分析)。但是,因爲它們都與JDK一起發佈(我使用的是JDK 1.7.0_51 SE),所以我假設它們之間存在顯着差異,否則它們將合併爲一個解決方案。特別是因爲這會顯着增加JDK的大小。

Java Mission Control是否最終將在未來取代JVisualVM?

+0

一個工具由Oracle開發,另一個工具由Sun開發。他們可能將它聚合到未來,但也許他們單獨保留,因爲'JVisualVM'是Netbeans的一部分(好吧,它們至少有重疊的部分)。 – Holger

+0

http://hirt.se/blog/?p=364&cpage=1#comment-88 – cic

回答

12

重要的一點是Mission Control可能不會在生產環境中自由使用。對於在DEV &中運行的應用程序是免費的,QA和Oracle目前並未執行生產應用程序的收費(截至2014年11月)。但是,他們的高管已經明確表示這可能會及時更改。

+3

這似乎不是真的。任務控制被認爲是商業功能([來源,表1-1](http://www.oracle.com/technetwork/java/javase/terms/products/index.html))...但是,B節[許可協議](http://www.oracle.com/technetwork/java/javase/terms/license/index.html)允許將商業功能用於「設計,開發和測試程序」的目的。這意味着您可以將其用於內部測試......您無法將其與自己的應用程序一起分發。 –

+3

凱文 - 如果你已經低估了這一點,請取消這個。我直接向Oracle高層詢問了這個問題,並得到了答案:「Oracle目前不打算向大多數用戶收取在生產中使用MC的費用」。很明顯,生產應用程序的「內部測試」不是由許可證覆蓋的。甲骨文可以隨時開始向使用MC生產的任何人收取費用。它與分配無關。 – kittylyst

+0

我不認爲這很清楚。當然,如果Oracle確實想要爲Mission Control製作圖表(儘管目前還不清楚這是否可以追溯到舊版本的Java),Oracle可能會在未來更改其許可條款。但在目前的條件下,它是允許的,所以MC不是「在生產應用中不能自由使用」。如果說JVisualVM是開源的,而MC沒有,那麼Oracle將保留在將來如果他們願意的話可以收取費用。 –

10

Java Mission Control的JMX控制檯部分就像任何其他JMX控制檯一樣。我當然有偏見,但在我看來,它是可用的功能更豐富的控制檯之一。 JMC更獨特的部分是Java Flight Recorder部分。

JMC針對的是生產系統,並且非常小心地避免引入不必要的開銷。使用Java Flight Recorder,您可以進行生產時間分析和診斷,而且幾乎不可測量的開銷。

相關問題