[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[jfriends-ml 13114] 「 Effective Java( 第 2 版) 」を読む会第8回議事録です
- From: "nemo_kaz@xxxxxxxxxxx" <nemo_kaz@xxxxxxxxxxx>
- Date: Thu, 02 Apr 2009 20:09:21 +0900
- Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=yj20050223; d=yahoo.co.jp; h=Received:X-Apparently-From:Message-ID:Date:From:User-Agent:MIME-Version:To:Subject:References:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=H/bKpRosCAWyg5Ca0nHtQTwR3jRdUuZzHocERQupPcbNdxpPCkJlD/Wz5c8U10AKtdwRH/uDD+7qerTapCRcS91ESHXehNRW/NFmOAEDjc0TsFpWW2h9gyEzEVLRJnKx ;
皆様、先週のEffective Java第二版を読む回第8回議事録をUpします。
--------------------------------------------------------------
Effective Java 第二版 Java読書会議事録
出席 : 村山 尾関 高橋(智) 高橋(徹) 門脇 遠藤 高江洲 石黒 柴田 岩
室 松永 桜井 中島
項目72 スレッドスケジューラに依存しない
Eclipse上でbreak pointをスレッドあたりに当てはめれば、人間の力でスレッド
制御できるか?
ステップ実行は、ブレークポイントを入れた段階で、マルチスレッドのバグが消
えるので追いにくい。
項目73 スレッドグループ
ThreadGroupのAPIは使うべきでない <-- どういうAPIがあるのか?
基本ThreadGroupは使うべきでない。
項目74 Serializeを注意して実装する
親クラスがSerializableの時は実装が煩雑
serial UID はクラスの形を変えると変る
読む時にserialversion UIDを見て、自分の知らないfieldを無視して取り出すこ
とも可能。
メソッド追加するとSerial UID はversionが進む、Interfaceの型が変らなくて
も進むことに注意。
privateフィールドやprivateのmethodを変えると、違うUIDとして認識されるの
か? 不明
SerializableなGUIの送信とは? <-- JINIの時などでは、画面をSerializeして飛
ばす事が可能
合宿テーマ GUIのシリアライズ転送テスト
GUIのプロパティの保存の代わりに、画面をserializeしてステート毎保存可能
.netは、しくみとして、GUIの丸ごと保存が可能。
最初のSerializeクラスに
SerialVersionUID = 1234567890123L とかの変更は、自分で互換性が保証できる
のであれば変える必要なし。
項目75 カスタムシリアライズ形式の使用を検討する
serialverの計算負荷は? フィールドやメソッドがたくさんある場合はどうなるのか
//static final long serialVersionUID = -1415823175452211377L;
serializableにはtransient を埋め込む人が少ない。
RMIは内部的にserializableを使っていない、HTTPのセッションで流す時は
serializeしている。
項目76 防御的にreadObjectを書く
項目77 インスタンス制御に対してはreadResolveよりenum型を選ぶ
設計によっては機密情報を抜かれる危険性があるので注意。Serializableは危険。
項目77 シリアライズされたインスタンスの代わりにシリアライズ・プロキシを
検討する
Serialize proxy pattern でシリアライズしたいものだけを指定する
serilizationProxyメソッドはJava標準