為什么java程序運(yùn)行之后會(huì)產(chǎn)生垃圾文件?
首先,謝謝邀請(qǐng)!
Java 虛擬機(jī)的自動(dòng)內(nèi)存管理,將原本需要由開(kāi)發(fā)人員手動(dòng)回收的內(nèi)存,交給垃圾回收器來(lái)自動(dòng)回收。
在JVM中新建對(duì)象需要在內(nèi)存中分配內(nèi)存,當(dāng)沒(méi)有引用指向這個(gè)對(duì)象并且和GC Roots沒(méi)有關(guān)聯(lián)時(shí),這個(gè)對(duì)象就處理可回收的狀態(tài),也就是常說(shuō)的垃圾對(duì)象,若這樣的對(duì)象不被回收掉,相應(yīng)的內(nèi)存空間將一直被占用,也就無(wú)法重復(fù)利用,將導(dǎo)致內(nèi)存空間不足,嚴(yán)重情況下直接導(dǎo)致應(yīng)用系統(tǒng)宕機(jī)。
希望對(duì)你有所幫助!