--- title: これからJavaを勉強する人が読むと良い本 tags: ["Book", "Java", "Review"] categories: ["Book", "Programming", "Java"] date: 2011-04-26T15:53:10Z updated: 2014-07-29T15:25:52Z --- (2年ぶりに更新した) かなり主観はいっています。もしかしてオブジェクト指向は軽く理解していることが前提になっているかもしれません。 ### 入門編 #### パーフェクトJava Javaの基本を一通り勉強したいならこれ。「やさしいJava」とか読んでも使い物になりません。
一通り説明している上に個々の説明が詳細なので(例えばjava.util.Listの実装クラスは内部がこういう構造だからこういうときにはこれを使うとか)、 基礎作りに最適。 パーフェクトJava (PERFECT SERIES) (PERFECT SERIES 2) #### Effective Java Javaのコードを書く上で最低限知っておかなければ行けないことが詳細に書かれています。この本のアンチパターンとして紹介されているコードを書くとぷぎゃーっとされても仕方なし。これを読んでいない人はモグリと言っても過言ではない。 #### Java逆引きレシピ 著者買い。 ### マルチスレッド編 #### Java並行処理プログラミング Javaをやっていたら必ずマルチスレッドなプログラムに関わると言っていいと思います。スレッドなんて自分で作らないから関係ないぜって思っている人、多分気づかずにスレッドアンセーフなプログラムを書いているでしょう。スレッドセーフなプログラムを書くには、java.util.concurrentパッケージを使ってうまく並行処理を書くにはどうすればいいかを学べます。フレームワークとか作る人は必修。 Java並行処理プログラミング ―その「基盤」と「最新API」を究める― #### Java言語で学ぶデザインパターン入門 マルチスレッド編 「Java並行処理プログラミング」の敷居が高い場合はこっちから入るといいです。ただし、java.util.concurrentパッケージを使っていないし、書き方が少し古いのでコードはあんまりまねない方がいいかもです。 増補改訂版 Java言語で学ぶデザインパターン入門 マルチスレッド編 #### Spring編 Springは良い日本語書籍はありません。。 -> Spring3入門が発売されました! #### Spring3入門 ――Javaフレームワーク・より良い設計とアーキテクチャ Spring3入門 ――Javaフレームワーク・より良い設計とアーキテクチャ 書評は[こちら][1] #### Pro Spring 3 出ましたSpring3本の決定版!1000ページ近くあり、かなりのボリュームですが、 その分、かなり網羅されています。3.1系で説明されており、3.1の機能もふまえた上で 最適な使用方法を選んでいる等、サンプルも鮮麗されています。 Blogアプリケーションを作りながら学ぶことで一通り身につけられるのではないでしょうか。 Pro Spring 3 (Professional Apress) ### JavaEE編 #### Beginning Java EE 6 GlassFish 3で始めるエンタープライズJava ようやく出ました、JavaEE6の和書。JavaEEの主要技術である JPA、EJB、JSF、JMS、JAX-WS、JAX-RSを一通り学べる本。 自分も翻訳・監訳に携わりました。 読み返して残念なのはやはりCDIについての説明がないこと。CDIがあればアプリケーションの書き方も変わってくるので、JavaEE6を普及していく上で、説明がないのはかなり痛いと思われます。(付録のハンズオンラボでは空気読まず使っていますが、、) Beginning Java EE 6 GlassFish 3で始めるエンタープライズJava (Programmer’s SELECTION) ### コーディング規約編 #### Javaルールブック ~読みやすく効率的なコードの原則 いっていることが全てうんうんとうなずける。全開発者が一冊もつべき。 Javaルールブック ~読みやすく効率的なコードの原則
思いついたら追記します。ご意見等があれば[@making][2]まで
更新日 更新内容
2014/07/30 ・「Java逆引きレシピ」追加
・「Javaフレームワーク開発入門」、「ソースコードリーディングから学ぶ Javaの設計と実装」、「Pro Spring MVC」、「Seasar徹底入門」、「StrutsによるWebアプリケーションスーパーサンプル」、「現場で使えるJavaライブラリ」を削除
2012/11/03 ・「Spring3入門 ――Javaフレームワーク・より良い設計とアーキテクチャ」追加
・「Pro Spring2.5」、「Spring in Action」、「Spring Recipes」、「SpringによるWebアプリケーションスーパーサンプル」を削除
2012/05/16 ・今更「StrutsによるWebアプリケーションスーパーサンプル」を追加
・「Pro Spring3」、「Pro Spring Mvc: With Web Flow」、「Beginning Java EE 6 GlassFish 3で始めるエンタープライズJava」を追加
・「Pro Spring2.5」、「Spring in Action」、「Spring Recipes」、「SpringによるWebアプリケーションスーパーサンプル」をDeprecatedに
2011/07/29 「現場で使えるJavaライブラリ」追加。
[1]: http://blog.ik.am/entry/view/id/154/title/%E3%80%8CSpring3%E5%85%A5%E9%96%80%20%E2%80%95%E2%80%95Java%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF%E3%83%BB%E3%82%88%E3%82%8A%E8%89%AF%E3%81%84%E8%A8%AD%E8%A8%88%E3%81%A8%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3%E3%80%8D%E3%82%92%E8%AA%AD%E3%82%93%E3%81%A0%E6%84%9F%E6%83%B3/ [2]: http://twitter.com/making