やさしぃ〜プログラミング用語

2002/05/25 undo


ごみ集め(garbage collection)

今回は、貧乏自慢するわけじゃありません。もちろん、こんなところこんなところの話ではありません。


ビンに入ったコーラを知っていますか? 最近ではボーリング場くらいしか見かけなくなりましたが、昔はいろんなところに自動販売機があったのです。もちろん、自動販売機の脇には栓抜きがついていて、王冠を抜くと抜けた王冠がちゃんと回収されるようになっていました。しかし、ビンまで回収できるようになっていたわけじゃありません。世の中そんなに便利じゃないです :-p

銘柄はたいてい「チェリオ」、「7・up」、「ミリンダ」で、たまに「ペプシ」もありました。当時、これらの銘柄は王冠がくじになっていて、当たると「もう1本」もらえたのです(^_^)
当然、ワルガキたち(私を含む)は、自動販売機の中にある王冠を狙っていました。わりばしでつまんだり、磁石で吸い寄せたり。

そんな時代の話です。>おぃ、まだ前置きかい!


すでに書いたように王冠はちゃんと回収されるのですが、ビンはそういうわけにはいきません。そこで、購入時、ビン代として10円払うようになっていました。自動販売機で売っているときも10円余分にとられたのかどうかは定かではありませんが、とにかくビンを酒屋へ持ちこむと1本あたり10円くれたのです。しかし、日曜日など酒屋が店をやっているはずもなく、夏になると海の近くではめんどうになって店に返さない人がたくさんいたようでした。
というわけでは、海岸沿いではあちこちにビンが散乱していました。そのままにしていて、もしビンが割れたら、とっても危ないのですよ。私も砂浜で何度か割れたビンを踏んづけて、足の裏や指を切っています(;_;)

そこで私のようなよい子は世のため人のために自分のために海岸にビンを拾いに行くわけです(^^;;
そうして、拾われたビンは、ちゃんと資源として回収されてリサイクルされるわけですね。めでたし、めでたし。



コンピュータ内のメモリも同じで、使ったら使いっぱなしで捨ててしまうと、私のようなまじめに働く奴(反論は受付けません。(^^;)がいて適当なタイミングで集めてくれるシステムがあるのです。有名なのは、Lisp, Smalltalk, Javaあたりでしょうか?

反対に、言語Cなどはセルフサービスになっています。ちゃんと自分で返しましょう。つまり、一度捨ててしまうと、もうリサイクルされません。これを「メモリリーク」と呼びます。世の中の資源は有限ですから、誰かがそのような暴挙にでると、あっというまになくなってしまうかもしれません。


戻る