標準FindBugs―開発のプロが教える 宇野るいも, arton

昨日と今日に渡って読んだ本。FindBugs というツールを使うと Javaソースコードのコードインスペクションができるらしい(まだ使ったことはないけど)。FindBugs の出すメッセージからエラーを引く、いわゆる逆引き辞典と思えば良い(巷に氾濫する安直な逆引き本とは違うけど)。もっとも FindBugs というツールはあまり関係なく、そのツールが出すメッセージを Java の解説のための章に使っているという程度。すなわちツールは使わなくても Java の解説本として読める。Effective Java と揃えて買えば良いかも、といった趣の本。マルチスレッドの解説は高度。
個別の点としては、例として Math.ceil を使った個所があるがなぜ Math.floor じゃないのかがイマイチ、ピンと来なかった(本筋じゃないけど)。volatile と synchronized の違いの解説が、(unibon には)難しくて良く分からなかった。
また、Java の synchronized メソッドと synchronized ブロックだと、synchronized メソッドのほうが効率が良いとのこと。これは知らなかった。もっとも .NET(C#) だとブロックしかないよね。