web-dev-qa-db-ja.com

経験豊富な開発者としてJavaを学習するための標準的な本はありますか?

私は.NET開発者として、過去5〜6年のギブオアまたはテイクを行っています。私はプロのJava=開発を行ったことはなく、最後に実際に触れたのはおそらく大学に戻ったときです。Scala言語を少しいじっています少しでも深刻なことはありません。最近、かなりクールな仕事をする機会が与えられましたが、.NETの代わりにJavaを使用しています。現在のスキルセットで問題ないでしょう。 、つまり、私はすでにプログラミング方法をよく知っていて、C#やC++などの言語に精通していることを意味します。したがって、構文とそのすべての言語の問題は本当に問題ではありません。 Javaでどのように考えるか。各言語/フレームワーク/スタックは、特定の方法で物事に対処しようとしますが、Javaは同じです。

Javaなくては生きていけない本はありますか?Javaの最も重要な部分について理解しなければならない本はありますか?何よりもまず?

余談ですが、私は主にJava Web開発です。永続性、フレームワーク、サーバーなどにどのような種類のものを使用しているかについては、100%ではありません。

29

参考までに、チュートリアルやJavaDocsなどのSun(現在のOracle)の公式のものを使用することをお勧めします。初心者向けですが、よく整理されているため、専門家が必要なものを簡単に見つけることができます。

効果的なJavaは、それほど重要ではない側面(特にジェネリック)を理解するための素晴らしい本です。

追加の資料は、使用する正確なJavaスタック-J2EE、Spring、GWT、Guiツールキットなど)に依存する可能性があります。

19
Uri

Sun Certified Java Programmer

SCJP for Java 6

私は強くお勧めしますこの本は、すでに有能な開発者のための完全な導入ガイドと実行ガイドです。

この質問は質問と非常によく似ています 習得に最適な方法JavaすでにOOP ActionScript 3のようなバックグラウンドがある場合) 私が言ったところ:

あなたはあなたがあなたがすでに知っていることを扱っている本が欲しくないと述べました。私は強くお勧めします SCJP for Java 6 Study Guide 。この本を入手しました(Java 5バージョン)テストのために勉強しました、そして私はすでに知っていて、Javaフルタイムで働いていたとしても、それの基本的な基本を越えながらも私の知性を侮辱しませんでした言語。

私はすでに有能でしたが、アクセスキーワード、ポリモーフィズム、およびオーバーロードされたメソッドの優先順位などの具体的な詳細を含む、本全体を通して言語に関する重要な詳細を学びました。

そこから、実際にテストを受けたいと思うかもしれません(200〜300ドルですが、現在のところは何であれ、雇用主がそれを助成する方が良いでしょう)。次のレベルのテスト[〜#〜] scjd [〜#〜](開発者向けのD)では、実際に、バックエンドとフロントエンド。これは、基本的な小さな(20〜40時間)、明確なプロジェクトをカットするのに最適な方法です。あなたの歯。

11
Nicole

効果的なJavaは必見です。言語の重要な部分の興味深いディスカッション。

Goetzの "Java Concurrency in Practice"についても良い話を聞いたことがありますが、自分では読んでいません。

9
Richard Miskin

同時実行whizになりたい場合は、Goetz et。al。Java実際の同時実行。同時実行の啓蒙のより高い平面に昇格したい場合、モーリスハーリヒのArt of Multiprocessor Programmingは一流で、実質的なJavaコードが含まれています。( SOディスカッション)も参照 ...この質問は締め切られましたが、回答は引き続き役に立ちます)

5
andersoj

特にWeb開発を行うために特に必要なことは多くありませんが、Joshua Blochによる「Effective Java」は私の見解では必読です。

Amazonへのリンク

4
ftr

Uriの回答と同じように、Sunの公式ドキュメントにアクセスし、Effective Javaで言語をさらに深く理解してください。

次に、 play framework e-bookplay framework cookbook のように、プレイドキュメントとブックを直接使用します。ここに サンプルの章 があります。

標準のj2ee Web開発スタック(ご存知のように、Spring、Struts、Tomcat、JSFなど)について学習するのは無駄です。PlayはWeb開発に対して非常に異なるアプローチをとります...永続化としてHibernateを使用する場合hibernateのドキュメントを確認することをお勧めしますフレームワーク

0
opensas