はじめに Goは GCを備えており、開発者がメモリ管理を直接気にする場面はそう多くありません。 「ヒープに乗ったオブジェクトは、いずれ自動で解放される」....この前提でコードを書けるのは、Goの大きな魅力のひとつです。 GCは自動で動きますが、いつ動くかは決まったルールで制御されています。 そのルールを知らないまま「いつかGCが回収してくれるはず」と思ってコーディングしてしまうと、OOMを引き起こしてしまう可能性があります。 本記事では、Goランタイムが持つ4つのGC発火タイミングを、サンプルコードを動かしながら整理します。 GC(Garbage Collection)とは Garbage Collectionとは、プログラムが使用しなくなったヒープ領域のメモリを自動的に回収する仕組みのことです。これにより、開発者はメモリ管理を意識せずにコードを書くことができます。 ざっと、コンテナでG

