「メモリリーク」の版間の差分
Administrator (トーク | 投稿記録) 編集の要約なし |
|||
| 14行目: | 14行目: | ||
*[[ガベージコレクション]] | *[[ガベージコレクション]] | ||
[[category: プログラミング]] | |||
2026年1月27日 (火) 04:17時点における最新版
メモリリーク(英語:memory leak)とは、プログラムが確保したメモリが解放されない(解放を忘れ放置される)事をいう。
概要[編集 | ソースを編集]
メモリリークはプログラマーの単純なミスによるバグで発生することが多い。 C++の全盛期にはメモリリーク診断ソフトウェアが一大産業となった。Windows界隈ではIntel Parallel InspectorやMicro Focus BoundsCheckerが有名である。
近年ではメモリの解放をコンピューター(仮想マシン、ランタイム)に委ねるガベージコレクションが取り入れられており、メモリリークが起きにくくなっている。
だたし、ガベージコレクションの仕様上の欠陥でメモリリークが発生することも多いのも事実である。 基本的に参照カウンター方式のガベージコレクションを搭載したものは欠陥品と思って間違いない。 これらの欠陥があったプログラミング言語およびランタイムとしてはObjective-CやPHP(PHP5.3以降で解決している)が有名である。