雑なスタックとヒープの理解
スタック・・・お皿。使用するときは一番上のお皿を使うし、置くときも一番上に置くだけなので処理が早い。迷わない
ヒープ・・・レストランの注文。A席は○○、B席は□□。あれこれと覚えること多い。処理が遅い。よく聞くポインタが関連する概念
メモリ管理について
ガベージコレクションの利用
ガベージコレクションがある言語は、GC(長いので省略)がメモリの管理をしている。今時のだいたいの言語は備えているはず リンク
代表的な言語はJava、Python、Rudy、PHP、JavaScript、Kotlin、Swift、Visual Basic等
プログラマーが頑張る
C、C++ とか
Rustのみ異なる概念
所有権によりメモリ管理の問題を解決していく
どの部分のコードがどのヒープ上のデータを使用しているか把握すること、ヒープ上の重複するデータを最小化すること、 メモリ不足にならないようにヒープ上の未使用のデータを掃除することは全て、所有権が解決する問題です
所有権について
他の言語を触っている間に"shallow copy"と"deep copy"という用語を耳にしたことがあるなら、 データのコピーなしにポインタと長さ、許容量をコピーするという概念は、shallow copyのように思えるかもしれません。 ですが、コンパイラは最初の変数をも無効化するので、shallow copyと呼ばれる代わりに、 ムーブとして知られているわけです。
変数ごとのメモリをムーブしているので、所有権という単語で表現表現しているわけか。なるほど
そして読めば読むほど分からなくなってきて、猛烈な眠気が襲ってきたので本日はここまで。明日は朝から読んでいくことにする