垃圾回收的算法與實現 | 做自己 - 2024年5月

垃圾回收的算法與實現

作者:(日)中村成洋等
出版社:人民郵電
出版日期:2016年07月01日
ISBN:9787115427472
語言:繁體中文
售價:517元

本書分為「算法篇」和「實現篇」兩大部分。算法篇介紹了標記-清除算法、引用計數法、復制算法、標記-壓縮算法、保守式GC、分代垃圾回收、增量式垃圾回收、RCImmix算法等幾種重要的算法;實現篇介紹了垃圾回收在Python、DalvikVM、Rubinius、V8等幾種語言處理程序中的具體實現。中村成洋,Network Applied Communication Laboratory Ltd.研究員。因為偶然的機會對GC產生濃厚興趣,其本人卻說不清楚為何喜歡GC,當被人追問原因時,總是回答「是緣分」。現在是CRuby的commiter,每天致力於GC的改善。執筆本書「實現篇」。相川光。游戲開發者。京都大學在學期間開始研究GC。熱愛GC但討厭打掃。除了GC之外還喜歡咖喱。執筆本書「算法篇」。竹內郁雄(審校)東京大學名譽教授。熱愛對象,甚至會給因為bug沒能得到重復利用而死去(釋放)的對象上供。

序章 GC的定義 GC的好處 GC的歷史 為什麼我們現在要學GC 讀者對象 本書中的符號算法篇 第1章 學習GC之前 1.1 對象/頭/域 1.2 指針 1.3 mutator 1.4 堆 1.5 活動對象/非活動對象 1.6 分配 1.7 分塊 1.8 根 1.9 評價標准 第2章 GC標記-清除算法 2.1 什麼是GC標記-清除算法 2.2 優點 2.3 缺點 2.4 多個空閑鏈表 2.5 BiBOP法 2.6 位圖標記 2.7 延遲清除法 第3章 引用計數法 3.1 引用計數的算法 3.2 優點 3.3 缺點 3.4 延遲引用計數法 3.5 Sticky引用計數法 3.6 位引用計數法 3.7 部分標記-清除算法 第4章 GC復制算法 4.1 什麼是GC復制算法 4.2 優點 4.3 缺點 4.4 Cheney的GC復制算法 4.5 近似深度優先搜索方法 4.6 多空間復制算法 第5章 GC標記-壓縮算法 5.1 什麼是GC標記-壓縮算法 5.2 優點 5.3 缺點 5.4 Two-Finger算法 5.5 表格算法 5.6 ImmixGC算法 第6章 保守式GC 6.1 什麼是保守式GC 6.2 優點 6.3 缺點 6.4 准確式GC 6.5 間接引用 6.6 MostlyCopyingGC 6.7 黑名單 第7章 分代垃圾回收 7.1 什麼是分代垃圾回收 7.2 Ungar的分代垃圾回收 7.3 優點 7.4 缺點 7.5 記錄各代之間的引用的方法 7.6 多代垃圾回收 7.7 列車垃圾回收 第8章 增量式垃圾回收 8.1 什麼是增量式垃圾回收 8.2 優點和缺點 8.3 Steele的算法 8.4 湯淺的算法 8.5 比較各個寫入屏障 第9章 RC Immix算法 9.1 目的 9.2 合並型引用計數法 9.3 合並型引用計數法和Immix的融合 9.4 優點和缺點實現篇 第10章 Python的垃圾回收 10.1 本章前言 10.2 對象管理 10.3 Python的內存分配器 10.4 第0層 通用的基礎分配器 10.5 第1層 Python低級內存分配器 10.6 第2層 Python對象分配器 10.7 第3層 對象特有的分配器 10.8 引用計數法 10.9 引用的所有權 10.10 如何應對有循環引用的垃圾對象 10.11 性能調整的建議 第11章 DalvikVM的垃圾回收 11.1 本章前言 11.2 重新學習mmap 11.3 DalvikVM的源代碼 11.4 DalvikVM的GC算法 11.5 對象管理 11.6 標記階段 11.7 清除階段 11.8 Q&A 第12章 Rubinius的垃圾回收 12.1 本章前言 12.2 Rubinius的GC算法 12.3 對象管理 12.4 走向准確式GC之路 12.5 GC復制算法 12.6 Q&A 第13章 V8的垃圾回收 13.1 本章前言 13.2 V8的GC算法 13.3 對象管理 13.4 通往准確式GC之路(V8篇) 13.5 GC標記-壓縮算法 13.6 標記階段 13.7 壓縮階段 13.8 Q&A附錄 附錄A 簡單語言入門:Python篇 附錄B 簡單語言入門:Java篇 附錄C 簡單語言入門:Ruby篇 附錄D 簡單語言入門:JavaScript篇后記參考文獻


相關書籍