Effective Javaのラストです。最後は例外・スレッド・直列化とかなりJavaっぽい内容です。それぞれ直感が効きにくい部分なので、丁寧なプログラミングが必要となる部分です。

Effective Java プログラミング言語ガイド
Joshua Bloch (著)
ジョシュア・ブロック (著)
柴田 芳樹 (著)
¥ 2,730 (税込)
例外は「例外」として使え
例外の部分はある意味当たり前ともいえる「例外は例外の場合のみに使って、それ以外では使わない」というのが本質。実際、例外を特殊な使い方をしているコードを見ることもありますが、確かに何やっているか分かりにくいですしね。次にどこに行くかわからない、というのは、読みにくいしバグの元。例外はやはり「例外」であるため、かなり丁寧な処理をしないと危ないですよ、ということ。
スレッドを安全に使う
スレッドの一番危ない部分は、「同期」の部分です。ではこの「同期」を安全に行うにはどうするか?一番はまず「同期を減らす」こと。まあ、当たり前といえば当たり前ですが、まずこの部分から考えるのが基本。それができない部分に対しては注意深く、共有データを変更するコードを書きましょう。
直列化の移植性
直列化の一番の問題点は「移植性」。これはオブジェクトを一段低いデータであるバイトストリームに直すために起こります。本書では、Serializableを継承するのではなく、独自のカスタムシリアライズを提供する、ということまで言及されています。シリアライズはそれほど難しい、ということなのですね。NEXT
未定です。どの本読もうかな。関連記事

コメント (2)
まだ読まれていないのでしたら、『Effective Java』の著者Joshua Bloch氏とNeal Gafter氏の共著である『Java Puzzlers 罠、落とし穴、コーナーケース』をお勧めします。パズルを解きながら、Javaでプログラミングする際に注意すべきことを学んだり、言語仕様に関する認識を深めたり、時には、錯視図を楽しんだりすることができます。
投稿者: 柴田芳樹 | 2007年12月 6日 04:29
日時: 2007年12月 6日 04:29
ありがとうございます。
今度本屋で探してみます。
投稿者: makoto | 2007年12月 7日 00:39
日時: 2007年12月 7日 00:39