↑ダングリングポインタであるところの宇宙飛行士

<aside> 💡 Agenda

</aside>

本稿では, ガベージコレクションのアルゴリズムの一つであるマーク・アンド・スイープ法のアルゴリズムを解説します.

初めに

ヒープ領域のメモリ管理を自動的に行うソフトウェアであるGarbage Collection(ガベコレ)は現在広く用いられています.

ガベコレを取り入れている代表例に, golangやJavaがあります. 他にも様々なプログラミング言語がガベコレを採用しています.

ガベコレと聞くと難しそうという印象を覚えがちですが, マーク・アンド・スイープ法の考え方は非常にシンプルです. 実際, Rustで簡単なガベコレを実装したところ, 100行程度で書くことができました.

https://github.com/speed1313/gomicollector

そんなガベコレの仕組みを見ていきましょう!

ガベコレが必要になる背景

初めに, ガベコレがなぜ必要になるかを知っておきましょう.

プログラムを実行する際には,

メモリ