オブジェクトの実行可能コードは、の場合はすべてインスタンス、またはの場合はそれぞれ1回保存されますかインスタンス?.NETオブジェクト実行可能命令メモリ消費?
つまり、オブジェクトのコードが一度格納され再利用されているか、各インスタンスに独自のコピーがありますか?
オブジェクトの実行可能コードは、の場合はすべてインスタンス、またはの場合はそれぞれ1回保存されますかインスタンス?.NETオブジェクト実行可能命令メモリ消費?
つまり、オブジェクトのコードが一度格納され再利用されているか、各インスタンスに独自のコピーがありますか?
コードは静的なデータと同様に共有されます。
インスタンスに固有のクラスの部分だけが分離されています。
ここで最初のオーバーヘッドフィールドは。http://msdn.microsoft.com/en-us/magazine/cc188793.aspx
「オブジェクトはヒープ内に作成されるたびに、各オブジェクトは、それに関連する2つの追加のオーバーヘッドフィールドを取得しますから取られた、もう少し詳しくだ、MethodTablePointerは、メモリアドレスが含まれています実際には、System.ObjectのGetTypeメソッドを内部的に呼び出すと、このメソッドはオブジェクトのMethodTablePointerフィールドの後に置かれ、どのタイプのメソッドテーブルであるかを判断します。オブジェクトは "
したがって、インスタンスはこの共有タイプのデータ/コードを複製しません。代わりに、それへのポインタがあります。
私は不思議そうですが、これがそうでないところでは、オブジェクト指向のフレームワーク/言語がありますか? :) –