我希望看到類似於由我的簡單類創建的堆上的對象。但是,當我使用netbeans分析器查看正在運行的程序時,我看到數以千計的類,大概是java在幕後做的所有好事。如何在java中監視應用程序信息?
netbeans分析器中是否有一種方法可以深入到我的線程和可從我的線程訪問的對象的細節?有沒有其他工具對此有好處?
例如,我希望能夠看到我是否在創建任何大而不必要的對象,我的對象使用了多少內存,類似的東西。
我對mac/linux特別感興趣。
我希望看到類似於由我的簡單類創建的堆上的對象。但是,當我使用netbeans分析器查看正在運行的程序時,我看到數以千計的類,大概是java在幕後做的所有好事。如何在java中監視應用程序信息?
netbeans分析器中是否有一種方法可以深入到我的線程和可從我的線程訪問的對象的細節?有沒有其他工具對此有好處?
例如,我希望能夠看到我是否在創建任何大而不必要的對象,我的對象使用了多少內存,類似的東西。
我對mac/linux特別感興趣。
底部有一個文本框,您可以過濾正在檢查的類。在那裏你應該寫下你的班級的全名來檢查。
(很抱歉,無法找到一個更精確的圖像,但同樣的文本框出現在內存部分)
這裏就是文本框中出現另一個圖像,並在其上的文字很清楚:類名稱過濾器。只需編寫complete.nameof.YourClass
,它會顯示必要的信息。
我不知道很多有關NetBeans配置,但我有一些工具的其他建議,我更瞭解,因爲我與他們合作....
如果你仍然應該是使用JDK 6,您可以使用JRockit Mission Control的內存泄漏分析器工具。
否則可能是MAT或Java Flight Recorder(Java Mission Control)
非常感謝!如果我在我的類中分配了一個ArrayList,那麼我如何將其他線程(如垃圾回收)分配給其他ArrayList ?有沒有辦法通過變量名來挑選對象? –
user384842
2014-12-04 22:11:49
@ user384842您無法在運行時知道變量的名稱。所以,從分析器中知道這些信息是不可能的。 – 2014-12-04 22:12:27