人形 たんぽぽの種

コンピュータがプログラムを実行するために、メモリという存在は必要不可欠な存在です。

古くからあるC言語などでは、プログラマ自身がメモリの開放までを指定しなければならない仕様になっています。(C言語ではmalloc関数などで確保したメモリをfree関数で開放したりします)

どんな優秀なプログラマであってもミスはつきもので、メモリリークと呼ばれる、メモリを使い果たしてプログラムが動かなくなってしまうバグを起こしてしまうことがありました。

しかし、現在、多くの言語にはガベージコレクションというソフトウェアが実装されています。

これにより、メモリリークの問題が半ば自動的に解決されているのです。

ガベージコレクションとは

ガベージコレクションとは、不要になったメモリを自動的に開放するソフトウェア(機能)のことです。

メモリのライフサイクルには、メモリの割り当て、メモリの使用、メモリの解放という3つの段階があります。

オブジェクトや文字列が生成された際にメモリ割り当てが行われ、それがもう使用されないと判断されたときに、ガベージコレクションがメモリの開放を自動的に行います。

このガベージコレクションというソフトウェア(機能)の登場によって、ある程度の段階までは、プログラマがメモリ管理について考えながらコーディングをしなくてもよくなったため、プログラミングの敷居がグッと下がったのです。

まとめ

・コンピュータがプログラムを実行するためにメモリが必要
・メモリには、割り当て、使用、開放という3つのサイクルがあり、ガベージコレクションはメモリの開放を自動で行う
・ガベージコレクションが広く普及したおかげでプログラミングの敷居が下がった