タグ

2010年8月25日のブックマーク (2件)

  • [Android編]短命なオブジェクトを作ってはいけない

    Android上のアプリケーションはJava言語で開発できるが、PCやサーバー向けのJava仮想マシンとは異なる「Dalvik仮想マシン」上で動作する。Dalvik仮想マシンは、モバイル向けに特化されているのが特徴である。 Androidアプリケーションの開発では、Javaの開発現場で培ってきた資産やノウハウを生かすことができる。だが、基的にPC上で動作させるJavaアプリケーションと同様に考えてしまうと、思わぬ落とし穴に陥ることになる。 そこで、主にメモリー管理の面からJava仮想マシンとDalvik仮想マシンの違いを見ていくことにする。 両者とも、メモリー管理はガベージコレクタ(GC)が担当する。ヒープ領域に空きがない場合、不必要なオブジェクトを回収して空き領域を作るのがGCの役割である。Java仮想マシンでは「世代別GC」という方式を採用しているが、Dalvik仮想マシンは「マーク

    [Android編]短命なオブジェクトを作ってはいけない
    authorNari
    authorNari 2010/08/25
    あとでツッこむ/コメントしました。
  • ガベージコレクションのアルゴリズムと実装 第12章「V8 の GC」その5 - 毎朝30分読書会

    今日も「V8 の GC」のコンパクション処理のところからです forwarding ポインタをオフセットにして、さらにページ構造を導入することで11ビットで forwarding ポインタ相当の情報を詰め込んでる。すごい。 Map オブジェクトのポインタも同様。余分なフィールドを作らずメモリ効率を考えた工夫。 記憶集合の更新 これで第12章「V8 の GC」も終わりました。 V8 の GC を読んでみて、細かな工夫が思いっきり詰め込まれていて楽しいという一方、C++ の勉強をしないといけないかな、という気になってきました。最近のプロジェクトC++ で書かれていることが多いので、それなりに読める程度には知っておかないといけないという気がしてきました。 さて、長かった「ガベージコレクションのアルゴリズムと実装」も今日で終わりです。「補遺」は PythonRuby の簡易言語入門なので

    ガベージコレクションのアルゴリズムと実装 第12章「V8 の GC」その5 - 毎朝30分読書会
    authorNari
    authorNari 2010/08/25
    感謝です