[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

memoryとgcに関するbobbyjam99のブックマーク (3)

  • 「メモリーを意識してみよう」第4回 進化するメモリー管理:ITpro

    先々週にHotSpot VMでのメモリー管理について解説しました。ここでキーとなるのは世代別GCです。 HotSpot VMで世代別GCが採用される以前は,Old領域のGCで使用されるMark & Sweep GCだけでした。世代別GCが導入されたことにより,GCのパフォーマンスは劇的に向上したのです。 しかし,GCの進化はここで終わってしまったのではありません。Java SE 6(開発コード名Mustang)にいたるまで,様々な改良が加えられてきました。 今週はそれらの新しいGCの手法について解説していきます。その前に,まずは基となるMark & Sweep GCを説明しましょう。 Mark & Sweep GC Mark & Sweep GCは二つのフェーズでGCを行います。 はじめのフェーズで,使用しているインスタンスに印をつけます(Mark,図1a)。Markにはルートインスタン

    「メモリーを意識してみよう」第4回 進化するメモリー管理:ITpro
  • C# ガベージコレクション

    Microsoft .NET Framework のガベージコレクション 開発環境: Visual Studio 2003 GotDotNetで、激論になりましたが、どうも自分でも納得できないところがありました。 というのは、明示的なDispose()、あるいはusingステートメントパターンが良いと言う意見がありますが、MSDNのサンプルの多くは、暗黙のGCで書かれているサンプルが多いですよね。 もし、MSがDispose(), usingステートメントをお勧めなら、MSDNのサンプルはDispose()パターン、あるいはusingステートメントパターンでかかれると思うんですよね。 それで、はたしてDispose(), usingステートメントを使うべきなのか、あるいはGCにおまかせパターンでよいのか、GDI+ の場合について検証してみました。 以下は、メモリ管理に関して、ある程度の知識

  • .NET TIPS ガベージ・コレクタを明示的に動作させるには? - C# VB.NET - @IT

    C++やVisual Basic 6.0の世界でプログラミングしてきた技術者が.NET Frameworkの世界に入ってきてまずおどろくのは、プログラムを実行していると、プロセスが使用するメモリ量がどんどん増えていくことである。「メモリ・リークか!?」と焦ることもあるが、これは正常な動作である。 メモリの解放忘れは典型的なバグの要因であり、メモリ解放を自動化することによって、プログラムの信頼性は向上し、プログラマーの負担も減る。自動的なメモリ解放を行う機構は、ガベージ・コレクタと呼ばれ、解放する行為をガベージ・コレクションと呼ぶ。問題は、ガベージ・コレクションがいつ行われるかであるが、これはメモリが不足してきた場合や、明示的に動作を指示された場合にのみ行われる。つまり、メモリが潤沢に余っている場合には、プロセスの使用するメモリ量が増加するのが正常な動作である。そのままメモリ不足でプログラム

  • 1