パーフェクトJava改訂2版

著者の井上さんからいただきました!

改訂2版 パーフェクトJava

改訂2版 パーフェクトJava


位置づけとしては、ある程度Javaを知っている人が、知識を補完するために読む本です。一応Javaの概要やコンパイル手順などから始まっていますが、このあたりの情報が必要な人が読むにはちょっと厳しいと思います。
Java SEの細かいところまで広範囲に書かれてるので、Javaをもうすこししっかり勉強したいという人におすすめです。


残念なのは、前版にあったJava EEやデータベース関連が紙面からは落ちて、ダウンロード版になってるところです。その情報も目次前の「はじめに」に書いてあるので、見落とす人も多いんじゃないでしょうか。
そのかわり、GUIはSwingからJavaFXになってます。JavaFXに関しての評価はぼくにはできませんが、コンポーネントの説明をちょろっとしているというレベルではなく、スレッドモデルなどをちゃんと説明していたり、いい感じっぽいです。
そういえば、日付時刻は扱われていませんね。


「ロックフリーは名前のとおりロックを使わない同期手法です」などと書くとどこかからマサカリが飛んで来そうですが、こういうマサカリを投げる人はJavaの本を読まないですね。まあでも、こういう話題が出てくるくらいの内容ってことでもあります。
プログラミングの魔導書 vol.3」の「Lock-free入門」によれば、「Lock-freeで大事なのはロックを使わない事ではなく進行保証の有無」ということで、「CPU時間が割り当てられる限り、どれかのスレッドが必ず有限ステップ内に操作を完了する」というアルゴリズムがロックフリーということになるようです。3つのスレッドが協調動作するとき、2つのスレッドがデッドロックしてもどれかひとつのスレッドが必ず終了することが保証できるのであれば、それはロックフリー、と。


ともあれ、どこからでも独立して読めて、たぶんどこを読んでも何らか知らなかったり理解があいまいだったりすることが書いてあったりするので、通勤時に持ち歩いたりトイレに置いておいたりして、適当に開いたページを読むとかすると楽しいんじゃないでしょうか。