今月からJava読書会「Java Memory Management」を読む会開始
Java読書会BOFは、5月の読書会から新しい本
Java Memory Management (Packt出版、2022年11月)
の読書会を開始します。洋書ですがページ数が140ページほどです。 (参加者募集中、申込は上述のJava読書会BOFのWebサイトから)
内容
プログラミングから見たJavaのメモリ管理の仕組みを平易に解説しています。 対象となるメモリは、
- スタック
- ヒープ
- メソッド領域/メタスペース
- ランタイム・コンスタントプール
- プログラムカウンタレジスタ
- ネイティブメソッドスタック
それぞれの内容、プリミティブ変数とリファレンス変数、スタックのフレームの構造、call-by-valueで引数・戻り値を受け渡すこととコピーの実態、世代別に管理されるヒープとGCルート、ガベージコレクタ、メタスペース、メモリの構成と監視について解説されていきます。
英語ですが、図が多く割と取りつきやすいのではないかと思います。 プログラミングにあたりメモリ管理について詳し過ぎることなく、難し過ぎることなくまとめられています。
買い方
紙で読みたいので、amazon.co.jp で注文しました。在庫があったので2日後には届きました。 Packt出版は、紙の本を購入した人に向けて、購入したことのエビデンス(領収証など)を提示するとPackt出版からPDF版を無料で受け取ることができます。
第1回の予習
英語本なので、事前に目を通しておいた方が良いと思い、ちらほら読みました。 スタックに取られるフレーの構造の説明が分かりやすいです。スレッド毎に作られ、ローカル変数配列、フレームデータ、オペランドスタックから成り立つ構成が図と共に説明されており、これまで漠然としか理解していなったフレームについて理解が深まりました。