読書会(Java仮想マシン仕様)第6回議事録
[ 戻る ]
第6回読書会議事録
日時:2000年 3月 25日(土) 10〜17時
場所:Javaカンファレンス事務局会議室(曙橋)
出席者(敬称略):遠藤・山下・前橋・橋本・高橋・福原
・酒井・野村・石黒・小川・斎藤(記)
範囲:
第8章からはじめて8章が終わった段階で、8章の8.13節で第2版にて
追加された部分を読み、6章に戻り6.4節はインストラクションの説明
なので重要と思われるものだけ読んだ。
内容:
8 スレッドとロック
8.1 用語と枠組み
・用語と流れを整理
Engine WorkCopy WorkingMemory MainMemory (対応に間違いがあるかも?)
use
<----------o
assign read
o----------> <----------o
load
<----------o
store
o---------->
write
o---------->
8.3 変数に関する規則
・doubleとlongは、32bit単位の2つに分割されて扱われる。
→double, long変数の扱いは実装依存により2つの値の混合となるので注意。
8.7 volatile変数に対する規則
・WorkingMemoryのみで操作せず、MainMemoryに処理する毎に操作を行なう。
8.13 ロックと同期化
・英語版第2版:8.13 Locks and Synchronizationで、追加項目あり。
追加分:
Although a complier for the Java programming langage nomally guarantees structured use of locks(see
Section 7.14,"Synchronization"),three is no assurance that all code submitted to the Java vritual machine will
odey this property. Implementations of the Java virtual machine are permitted but not required to enforce both
of the following two rules guaranteeing structured locking.
VM Spec Threads and Locks
Let T be a thread and L be a lock. Then:
1. The number of lock operations performed by T on L during a method invocation must equal the number
of unlock operations performed by T on L during the method invocatiojn whether the method invocation
completes normally of abruptly.
2. At no point during a method invocation may the number of unlock operations performed by T on L since
the method invocation exceed the number of lock operations performed by T on L since the method
invocation.
In less formal terms, during a method invocation every unlock operation on L must match some preceding lock
operation on L.
Note that the locking and unlocking automatically performed by the Java vertual machine when invoking a
synchronized method are considered to occur during the calling method's invocation.
** お昼は、韓国料理屋にて食事。**
午後:6章〜
6.4 Java仮想マシンの命令セット
興味深い命令のみ読書
・invoke命令(メソッド呼び出し)
invoke_interface interfaceクラス、
invoke_special
invoke_static staticメソッド
invoke_virtual invoke_special以外のインスタンスメソッド
・instanceof
英語版第二版では、interfaceを左辺に記述できるように書かれているがよく分からない?
・tableswitch, loockupswitch, moniterrnter/moniterexit, new, newarrayについて読んだ。
次回の読書本 提案内容
1.入門書
Sun Java Turtorial
Teach yoreself
Java2 in 21 Days
2.設計
デザインパターン関連
UML関連
Gof本
Javaとピザとデザインパターン
Javaプログラムデザイン
3.基礎
vm仕様(今回済み)
言語仕様
Thread仕様
ソースコードを読む?
JITコンパイラ
計算機プログラムの構造と解釈
4.Java 仕様書
Servlet
Jine
EJB
XML
Java2D
** 次回の読書本をMLにて選考する予定 **
** 雑誌掲載用の写真を取った **
** 前回と同様に夜はイタリア料理の店で懇親会 **
→お店の人にうるさいと何度も注意されつつめげずに騒いだ。
次回予定:未定
以上
PS.遅くなりました。間違い不足がありましたらご指摘願います。
---
esaito@fdi.fujitsu.co.jp
[ 戻る ]