垃圾回收的算法與實現學習筆記一、GC基本瞭解

一、GC的定義

1、GC(Carbage Collection)的簡稱,中文垃圾回收。

2、現實中指不用的東西,可以扔掉的。比如:破舊的衣服,可以扔掉的食物。

3、GC中:把程序不用的內存空間成爲垃圾。

二、GC做的兩件事情

1、找到內存空間的垃圾。

2、回收垃圾,讓程序員能再次利用這部分空間。

三、爲什麼需要GC

沒有GC

1、沒有GC時,程序員必須手動進行內存管理,還必須要確認必要和不必要的內存空間,以免釋放錯誤。

2、如果沒有釋放累計的多了就會發生內存泄漏,無法使用內存空間,還可能導致系統奔潰。

3、懸垂指針引起嚴重的安全漏洞,還可能產生無法預期的Bug

1)在釋放內存空間時,如果忘記初始化指向對象的內存空間的指針,這個指針就會一直指向釋放完畢的內存空間。因爲沒有指向有效的內存空間,處於一種懸掛狀態。

有GC

1、不需要手動管理內存。

2、省去忘記釋放內存而導致的BUG,讓程序員告別惱人的內存管理,把精力集中在更本質的編程工作上。

3、最初GC算法時John McCarthy在1960年發佈的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章