メモリ管理って難しそうな響きだけど何するの?
机の上のスペース(RAM)を、どのプログラムにどれだけ割り当てるかを管理することだよ。プログラムは動くときに「作業スペース」としてメモリを借りて使うんだ。
使い終わったら返さないとだめなの?
そうなんだ!返さないと「メモリリーク」って状態になって、どんどんメモリが埋まっていく。ブラウザのタブをいっぱい開いてパソコンが重くなるのも似たような現象だよ。
スタックとヒープって何?
スタックは関数が使う一時的なメモリで、関数が終わると自動的に解放されるんだ。ヒープは自分で確保・解放する自由なメモリ領域で、大きなデータや長く使うデータを置く場所だよ。
じゃあヒープを多く使えば何でも解決?
ここが中上級者でも混乱するポイントで、ヒープは確保・解放が遅くてメモリの断片化も起きやすいんだ。「スタックとヒープをどう使い分けるか」はパフォーマンスに直結するから、Rustみたいにメモリをコンパイラがチェックするユニークな言語も生まれたくらい重要なテーマなんだよ。