第7部: メモリと実行時¶
第6部が「コードがどう機械語になるか」なら、この章は「実行中のメモリで何が起き、何が壊れるのか」です。C#のGCが隠してくれていた世界を、寿命・所有権・バグのカタログ・アロケータ・GCとの比較の順で扱います。
読む順番¶
- 記憶域期間とスコープ・寿命の違い
- 所有権と借用
- メモリバグ図鑑(dangling・use-after-free・double free・leak・overflow)
- 並行処理のバグ(data race・race condition・false sharing)
- キャッシュ局所性と AoS / SoA
- placement new・allocator・memory pool・arena・fragmentation
- ガベージコレクションとの違い(C#管理ヒープ・UnityのGC Alloc)
仕上げに 演習。
前提¶
- 値型と参照・ポインタ、RAII、スマートポインタ、メモリレイアウト を先に読むと繋がりが良いです。
全体目次 | 次: 記憶域期間とスコープ・寿命