1. 程式人生 > >垃圾收集器

垃圾收集器

garbage 虛擬 過多 內存 問題 bag 區域 結構 一個

概述

Garbage Collection, GC:1960年誕生於MIT的Lisp是第一門真正使用內存動態分配和垃圾收集器技術的語言。

程序計數器,虛擬機棧,本地方法棧3個區域隨線程而生,隨線程而滅;棧中的棧幀隨著方法的進入和退出而有條不紊地執行著出棧和入棧操作。每一個棧幀中分配多少內存基本上是在類結構確定下來時就已知的,因此這個幾個區域的內存分配和回收都具備確定性,在這幾個區域內就不需要過多考慮回收的問題。而Java堆和方法區則不一樣:一個接口中的多個實現類需要的內存可能不一樣,一個方法中的多個分支需要的內存也可能不一樣,只能在運行期才能知道會創建那些對象,這部分的內存的分配和回收都是動態的,垃圾收集器所關註的是這部分內存。

對象已死嗎?

垃圾收集器