This article is excerpted from other people's Web site, I read less books, I want to read the book as a list of books.
Original address: http://blog.sina.com.cn/s/blog_6aa1784101011hl5.html
Body:
There has always been such an idea, listed I personally think in the study and use of Java process can be recommended to read books, to beginners or want to deep friends some advice, to help grow. I have read the recommended, I will recommend some friends have read and good reputation of the books.
First, the Basic class
1, "Thinking in Java", the first place to get started is to establish the correct concept.
2, "Core Java", I did not read the system, this book closer to practice, more API introduction, the same, update more frequently.
Second, Advanced class
1, "Effective Java", after familiar with the grammar, API, you need to know best practices and traps, no better than this one.
2, "Java puzzlers", through the puzzle to introduce some of the scraps you may not notice, as fun reading is also good
3, "Deep Java Virtual machine", translation general, but can not read, it is best to combine the latest JVM specifications to read.
Iii. Specific areas
1. Network Programming:
(1) O ' Reilly's "Java NiO", many people recommend, I personally feel the general, basically just a more detailed documentation of the API, O ' Reilly Java series many are like this.
(2) I recommend this book "Fundamental Networking in Java", to teach you how to do Java network programming, and introduce a lot of background knowledge, and even introduced a variety of best practices, network programming model and Java socket in different platform differences and so on.
2. Concurrent Programming:
(1) "Java Concurrency in Practic", the concurrency domain must read classics.
(2) "Java Concurrent Programming: Design principles and Patterns" is also the work of Doug Lea.
(3) "Java Threads", introductory reading.
3, the Web programming, this block I have not contacted for a long time, it is not recommended, interested friends can add.
Iv. Pattern and Design
1, "design mode", Gof Classic.
2, "design mode fine solution", should have the latest version, personally think more suitable for getting started.
3, "Head First design mode", easier to get started reading.
4. "Enterprise Application Architecture Model"
5, "Analysis mode-Reusable object Model"
6, "Model-oriented Software architecture", the domestic seemingly translated 3 volumes, absolutely classic, but poor translation.
7, "refactoring-improve the existing code design", want to write good code must read.
8, "Reconstruction and Mode"
Five, methodology
1, "Agile Software Development"
2, "Test-driven development", you do not have to TDD, but you must learn to do unit testing.
3, "Agile Java", can also be used as a primer for Java.
4, "Rapid software development"
5, "Object-oriented Analysis and design", oo design must read.
6, "Unix Programming Art", Open your eyes.
Vi. outside of Java
1, "UNIX Network Programming", learning Network programming must read.
2, "C + + network programming" up and down two volumes, introduced Ace, but the application of various modes of the introduction of the very value of the first reading.
3, "Joel said software", programming culture
4, "People's Month myth", "Human pieces"
5, "Effective programmer", give me a great inspiration of a book.
6. The path of programmer's cultivation
7, the construction and interpretation of computer programs, must read
8, "Introduction to Algorithms", can be used as reference books
9, "in-depth understanding of computer systems"
10, "Compiling principle" dragon book, the latest version with Java interpretation, I did not read, by the way.
Recommended Bibliography for Java