タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

GCに関するJHashimotoのブックマーク (5)

  • 視覚化による5つのガベージコレクションアルゴリズム入門 | POSTD

    ほとんどの開発者は、自動のガベージコレクション(GC)を当たり前のように使っています。これは、私たちの仕事を容易にするために言語ランタイムが提供する素晴らしい機能の1つです。 しかし、最新のガベージコレクタの中をのぞいてみれば、実際の仕組みは非常に理解しづらいことが分かります。実装の詳細が無数にあるため、それが何をしようとしているのか、また、それがとんでもなく間違った事態を引き起こしかねないことについて十分理解していない限り、すっかり混乱してしまうでしょう。 そこで、5種類のガベージコレクションアルゴリズムを持つおもちゃを作ってみました。小さいアニメーションはランタイムの動作から作成しました。もっと大きいアニメーションとそれを作成するコードは github.com/kenfox/gc-viz で見ることができます。単純なアニメーションによってこうした重要なアルゴリズムを明らかにできることは

    視覚化による5つのガベージコレクションアルゴリズム入門 | POSTD
  • .NETにおけるマネージヒープとガベージコレクション - Qiita

    この記事ではマネージヒープのオブジェクトの生存期間とガベージコレクタの動作についての説明を行う パワーポイント等については下記からダウンロードできる。 http://needtec.sakura.ne.jp/doc/managedheap.pdf マネージヒープにオブジェクトを割り当てる オブジェクトをマネージヒープに格納する場合、下記の情報が格納されるようにする。 オーバヘッドフィールド (32bitプロセス:8byte, 64bitプロセス:16Byte) ・型オブジェクトポインター ...オブジェクトの実際の型を現す型構造体へのポインタ ・同期ブロックインデックス ...ロックとかCOMで利用する 型のフィールド 次の例ではマネージヒープにオブジェクトを追加していく例を図で表したものである。 この状態でオブジェクトAを割り当てようとする。 この際、オーバヘッドフィールドとフィールドが

    .NETにおけるマネージヒープとガベージコレクション - Qiita
  • Microsoft .NET Framework の自動メモリ管理 Part I

    mplementing proper resource management for your applications can be a difficult, tedious task. It can distract your concentration from the real problems that you're trying to solve. Wouldn't it be wonderful if some mechanism existed that simplified the mind-numbing task of memory management for the developer? Fortunately, in .NET there is: garbage collection (GC). Let's back up a minute. Every pro

    Microsoft .NET Framework の自動メモリ管理 Part I
    JHashimoto
    JHashimoto 2010/09/04
    "今回は,一般的なGCの概念と内部メカニズムをいくつか示した。本稿のGCの説明を読めば,GCがメモリの利用状況の監視,メモリの解放タイミングの把握などからプログラマを解放することに気づくことだろう。"
  • 「【C#】 GCが子Formのインスタンスをメモリから解放するタイミング」(1) Insider.NET - @IT

    IT 会議室 Indexリンク Windows Server Insider Insider.NET System Insider XML & SOA Linux Square Master of IP Network Java Solution Security & Trust Database Expert RFID+IC リッチクライアント & 帳票 Server & Storage Coding Edge @ITクラブ Cafe VB業務アプリケーション開発研究 @IT SpecialPR

  • This is CLR - GC (Section 1)

    GC の動作は単純明快。「ルート(オブジェクトを参照している変数)の存在しないオブジェクトを回収し、メモリを解放する」ただそれだけである。殆どにおいて、プログラム、或いはプログラマからは GC は全く透過的だ。GC の動作の詳細を気にする必要はない。だが、GC について知識を持っていると役に立つ事がある。パフォーマンス、アンマネージリソースの確実な解放、アンマネージコードとの連携、ルートがないように見えるオブジェクトの維持、ルートがあるように見えるオブジェクトの GC 回収、etc。知識は無用なトラブルを回避してくれる。 パフォーマンスについて Finalize  を実装するかしないかでは、そのクラスのオブジェクトの GC パフォーマンスは変わる。Finalize を実装しているクラスのオブジェクトは一度の GC では決して回収されないからだ。 ある時点で、オブジェクトA、B にはルートが

  • 1