1.使用new建立對象,在堆內存分配對象空間、初始化;線程
2.在方法棧中定義局部變量,吃用對堆內存中對象的引用;對象
3.方法執行完返回,棧內存自動釋放,局部變量銷燬;內存
4.若是堆內存中對象沒有變量引用它,成爲垃圾,有垃圾回收器回收,釋放所佔堆內存變量
5.Java垃圾回收器垃圾回收
(1)Java運行時系統有一個垃圾回收線程負責清除再也不使用的對象,俗稱垃圾回收器;引用
(2)垃圾回收器按期掃描內存,對於被使用的對象加上標記,按可能的路徑掃描結束後清除未加標記的對象方法
(3)被回收的對象是:內存分配
a.再也不被任何變量引用的對象;new
b.引用變量自動放棄;系統
c.人爲的將引用變量置爲null