リチャード・ジョーンズ(著) , アントニー・ホスキング(著) , エリオット・モス(著) , 前田 敦司(翻訳) , 鵜川 始陽(翻訳) , 小宮 常康(翻訳) , 前田 敦司(監修) , 鵜川 始陽(監修) , 小宮 常康(監修)
※1点の税込金額となります。 複数の商品をご購入いただいた場合のお支払金額は、 単品の税込金額の合計額とは異なる場合がございますので、予めご了承ください。
プログラムが使用しなくなったメモリ上の空間を解放し、他のプログラムが使えるようにするのは、古くはプログラマの役割でした。それがゆえに、しばしば解放を忘れるというヒューマンエラーを引き起こし、ついには「メモリ不足です」と宣告され、あるいはオペレーションシステムもろとも轟沈し、作業中のデータはすべて消え失せ、モニタの前のユーザーは声にならない叫び声をあげるというシーンがしばしば見られました。
そこで研究され実装されたのが、ガベージコレクションです。これはメモリの解放を人任せにせず、プログラム自身が行えるようにするもので、プログラマの苦役の幾ばくかをも解放してくれました。
とはいえ、その実装方法やアルゴリズムは多種多様で、ガベージコレクションがあるから大丈夫、という思い込みだけでプログラムを作成していると、思わぬ落とし穴に転げ落ちることになります。
本書はアルゴリズムはもちろん、その実装方法とメリット/デメリットを解説し、真に必要なガベージコレクションを選別できる選択眼を養える一冊です。心あるエンジニアであればユーザーを阿鼻叫喚の地獄から救うために目を通しておくべき書籍と言えるでしょう。