自動垃圾回收機制(ARC)

手動內存管理(MRC)帶來的問題:算法

  1.0 因爲開發者疏漏或不能正確的釋放內存而致使的內存泄漏,從而引發程序的崩潰工具

  2.0 因爲指針的處處傳遞而沒法肯定什麼時候能夠釋放該指針所 指向的內存塊。假如代碼中某個位置釋放了內存,而另外一些地方還在使用指向這塊內存的指針, 那麼這些指針就變成了所謂的「野指針」(wild pointer)或者「懸空指針」(dangling pointer),對 這些指針進行的任何讀寫操做都會致使不可預料的後果。 spa

  3.0 著名的內存檢查工具,好比Rational Purify、Compuware BoundsChecker和英特爾的Parallel Inspector等 設計

自動內存管理(ARC):指針

  1.0 從設計方法的角度而衍生了相似於內存引用計數之類的方法(一般被稱爲「智能指針」) 內存

  2.0 在語言級別引入自動垃圾回收算法(Garbage Collection,簡稱GC) 開發

    2.1:所謂垃圾回收,即全部的內存分配動做都會被在運行時記錄,同時任何對 該內存的使用也都會被記錄,而後垃圾回收器會對全部已經分配的內存進行跟蹤監測,一旦發現有些內存已經再也不被任何人使用,就階段性地回收這些沒人用的內存。 it

相關文章
相關標籤/搜索