以前は「システムクラスローダ」と呼ばれていた。・「配列クラスの生成」とあるが(l.396)、配列は、クラスとして存在するのか?→型と次元毎に独立して存在する。・ユーザクラスローダを作成するのはどういう場合か?→サーブレットエンジン→ブラウザ・名前空間の話。名前空間は、クラスローダ毎に独立している?→ブラウザは、URL毎にクラスローダを作成するので、クラスの名前空間が独立する。MyAppletというアプレットがInternet上にたくさんあったとしても、独立して実行できる。ようなクラスはどうなるのか?→システムクラスローダは別扱いらしい。以外はloadClass()メソッドをオーバライドする必要がなくなり、(中略)デフォルトのloadClass()はすでにロードしたクラスのキャッシングや、これからロードしようとするクラスがCLASSPATHからたどれるところにあるクラスである場合にシステムクラスローダを呼び出すなど(後略)」とある。Machine」(後述)によれば、MyClassLoaderのサンプル実装(p.38)のloadClass()の実装で、まずfindSystemClass()を実行している。システムクラスローダで見つからなかった場合に、ユーザクラスローダを使うように、ユーザクラスローダを実装するらしい。・クラスがロードされているかどうかを確認することは出来るのか?→できるような気はするけれど、やってもそんなに意味がないのでは。一意に決定するのではなかったの?→AND条件である。ひとつめとふたつめが同時に成立するのは別に変なことではない。Machine"を読みなさい、ということなので、Webから探してコピーして全員に配布した。Errorって、何故エラー?→ここでは、ロードした表現からクラスまたはインタフェイスを取得する話をしている。TiL2をTnまで確認するらしいけど、nは何の数?→メソッドの引数の数。・ちょっと脱線して、メソッドのディスクリプタ、シグニチャに関する議論。→ディスクリプタは、戻り値と引数を含む(クラスファイルのフォーマットで定義)。→シグニチャは、メソッド名と引数を含む(Java文法で定義)。5.4.3.3・メソッドの解決って、クラスをロードしたときの話?それともメソッドを読んだときの話?→文脈から言って、ロードした時のことではないかな。第7章」ということに決まった。・p.279のは誤植だね。・p.282のfor文の例、なんで第3式を先に吐くんだろう?→p.286のwhlieの例の説明からすると、高速化のためらしい。・p.282のforの例、ループのたびに100をpushしてるようだけど。→比較のためにはスタック上になければいけないんだからしょうがない。→スタックマシンとはそういうもの。→オペランドスタック・ローカル変数については、byteやshortは存在しない。常にintで、演算してから切り捨てる。→でも、byte配列をintの配列として扱ってたら、いくらなんでももったいない。令があるんだから、配列ではbyteの配列やshortの配列もあるらしい。インストラクションにはgetfieldとかputfieldしかない。sipushでスタックにpushできるのに、32ビット必要な値はいきなりコンスタントプールなのか。→2バイトまでの数値が扱えれば大抵の場合問題ないと思われてるのかなあ。NaNの扱いもちゃんと決められていることに感心。→NaNを番兵に使うことについての議論。・p.293の最初の例。invokeの前のdupは必要か?→invokeで消えちゃうから必要。・p.295の下のほうの例。