儘管JVM提供了自動內存管理的機制,試圖降低程序員的開發門檻,確實也實現了這一目標,在日常開發中,我們一般都不需要關心對象的內存釋放。JVM大部分都是使用trace演算法來判斷一個對象是否該被回收,那麼JVM只能回收那些從gc roots不可達的對象。
如果我們在使用某些大的對象、集合對象或者一些三方包里的資源,忘記及時釋放資源的話,還是會造成JVM的內存泄漏或內存浪費的問題。因此,如果想成為更高階的Java開發工程師,我們需要了解常見的問題排查的辦法和工具,這個系列的文章,準備介紹一個用來做JVM堆內存分析的工具——MAT(Memory Aanlysis Tool)。
MAT的官網在:https://www.eclipse.org/mat/,可以看下它的介紹——MAT是一款高性能、具備豐富功能的Java堆內存分析工具,可以用來排查內存泄漏和內存浪費的問題。
一、安裝和裝設置
1.1 mac安裝
MAT 支持兩種安裝方式,一種是"單機版「的,也就是說用戶不必安裝 Eclipse IDE 環境,MAT 作為一個獨立的 Eclipse RCP 應用運行;另一種是」集成版「的,也就是說 MAT 也可以作為 Eclipse IDE 的一部分,和現有的開發平台集成。
這裡我們考慮獨立安裝,在觀望的下載頁面,選擇mac os版本的安裝文件下載即可。