torutkのブログ

ソフトウェア・エンジニアのブログ

Java読書会「Java Memory Management」

今月から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回の予習

英語本なので、事前に目を通しておいた方が良いと思い、ちらほら読みました。 スタックに取られるフレーの構造の説明が分かりやすいです。スレッド毎に作られ、ローカル変数配列、フレームデータ、オペランドスタックから成り立つ構成が図と共に説明されており、これまで漠然としか理解していなったフレームについて理解が深まりました。