the necessary books for Java professionals :
Every programmer has a few books that are worn down by the fact that they are often used as a professional reference. The following books should be required on the Java language Programmer's bookshelf. The book is very expensive, so I deliberately make this list very short, limited to important books.
Thinking in Java (Bruce Eckel)
Thinking in Java, 3rd edition (Bruce Eckel; Prentice Hall ptr,2002 Year)
Java Programming Idea : 3rd edition (Chen Haopeng etc. translation; Machinery Industry Press, 2005)
Eckel 's book is extremely useful for learning how to use object-oriented technology in the Java language environment. A large number of code examples in the book explain the concepts he introduces. Text comes from a person who doesn't think Java technology is always the right answer, so it's quite practical. Eckel has a lot of experience in many languages and a solid skill for thinking in an object-oriented way. This book puts these skills into a practical Java language environment. He is also writing a new book called Thinking in Enterprise Java.
effective Java (Joshua Bloch)
Effective java:programming Language Guide (Joshua Bloch; addison-wesley,2001 years)
Effective Java Chinese version (Pan translation; Machinery Industry Press, 2003)
This book is the best book to understand the principles of good Java programming. Most of the material is not found in other "learning Java" books. For example, the chapter on covering equals () in the Bloch book is one of the best references I've ever read. He also included a useful suggestion in the book: Replace abstract classes with interfaces and use exceptions flexibly. Bloch is the architect of the Sun company's Java platform library, so he knows the language thoroughly. In fact, he wrote a lot of useful libraries in the language. This book must be read!
The Java programming Language (Ken Arnold, James Gosling, David Holmes)
The Java programming Language (Ken arnold,james gosling,david Holmes; addison-wesley,2000 years)
Java Programming Language (3rd edition) (Wanrong, China Power Press, 2003)
This may be the best Java primer to get. It is not a standard specification, but a readable book that introduces the characteristics of each language. The book is well balanced in rigor and education, enabling programmers to quickly be attracted to the Java language (and its rich class libraries).
Concurrent Programming in Java:design Principles and Patterns (Doug Lea)
Concurrent Programming in Java:design Principles and Patterns, 2nd edition (Doug Lea; addison-wesley,1999 years)
Java concurrent Programming-design principles and Patterns (second edition) (Zhao, China Power Press, 2004)
Not every developer needs to be so careful about concurrency, and not every engineer can reach the level of the book, but there is no better overview of concurrency programming than the book. If you are interested in this, please start here. Lea is a professional programmer in SUNY, whose work and ideas related to concurrency are included in the JDK 5.0 specification (from JSR166), so you can rest assured that his advice on the effective use of the Java language is worth listening to. He is a man who is good at communication.
Expert one-on-one Java design and Development (Rod Johnson)
Expert one-on-one Java design and Development (Rod Johnson)
WROX:J2EE Design and Development Programming Guide (Weihaiping, Electronics Publishing House, 2003)
for those who have just come in contact with the Java EE, this is the only book that truly reflects the technology. Unlike many other authors, the book contains years of successful experience and failure, and Johnson is happy to make the experience of failure public. Java EE is often overused. Johnson's book will help you avoid this.
Refactoring (Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts)
Refactoring:improving the design of Existing Code (Martin fowler,kent beck,john brant,william Opdyke,don Roberts;
addison-wesley,1999 years)
refactoring: Improving the design of existing code (Chinese version) (Houtie, China Power Press, 2003)
Fowler has written several of the most popular programming books now published, including Analysis Patterns. His book on Refactoring is the basic book of the subject. Refactoring code is training ignored by programmers, but it is the most intuitive idea for programmers. Refactoring is to improve the design of existing code without changing the results of the code. This is the best way to keep your code neat, and the code designed in this way is always easy to modify. When do you refactor? When the code is "emitting flavor". Fowler's book is full of examples of Java-language code. Many of the Java Language integrated development Environment (IDE) (including IBM's Eclipse) include Fowler refactoring, each using his refactoring name, so it is worthwhile to be familiar with refactoring such as extract method.
Design Patterns (Erich Gamma, Richard Helm, Ralph Johnson, John vlissides)
Design patterns:elements of reusable Object oriented Software(Erich gamma,richard Helm,ralph Johnson,john Ides addison-wesley,1997 years)
design pattern: The basis of reusable object-oriented software (Li Yingjun, Machinery Industry Press, 2005)
This is a more famous book in the circle of professional programmers, based on the common nickname of the author, which is considered the book of Gang (GOF). Patterns are a way to think about and solve common programming problems. Learning mode is a subject. Using good patterns (or knowing when not to use patterns) is a skill. Ignoring the schema is wrong. All of the examples in the book are in C + +, but the Java language was born from there, so it is relatively easy for Java language programmers to relate to how to implement these patterns in the Java language. Familiarize yourself with patterns and learn how to use good patterns to make programming easier. This makes it easier to communicate with other programmers, because patterns are a shortcut to describe a large number of related programming concepts that work together in a solution in a common solution for common problems. Some more general approaches, such as factory methods, are ubiquitous, even in the Java language itself. For this topic of smart usage patterns, you can also read the Refactoring to Patterns of Joshua Kerievsky, which says you can let code tell you when to implement patterns.
Patterns of Enterprise Application Architecture (Martin Fowler)
Patterns of Enterprise Application Architecture (Martin Fowler; addison-wesley,2002 years)
Enterprise Application Architecture Model (Wang Huimin, Machinery Industry Press, 2004)
Enterprise development, of course, represents a bigger challenge than a small, one-off project. That does not mean that all the challenges that enterprise development poses are new challenges. In fact, there are times when this development has been done before. Fowler has done a lot of such projects. His book mentions a number of common solutions and provides guidance on usage, compromise, and alternative scenarios. Fowler contains familiar patterns, such as the Model View controller (MVC), and he also provides some patterns that you may not understand, such as the page Controller mode that handles a particular page request or behavior request on a Web site. As you do with most patterns, once you've read a lot of patterns, you think, "I already know that pattern." Maybe so, but it's helpful to have a generic expression that references patterns. In large projects with multiple components (developed by different people), this class reference is a good help.
UML distilled (Martin Fowler)
UML distilled:a Brief Guide to the Standard Object modeling Language (Martin Fowler; Addison-wesley 2003)
UML Essence: Concise guide to Standard Object Language (3rd edition) (Xu JIAFAO, Tsinghua University Press, 2005)
UML is an important universal visual communication language for professional programmers, but it is overused and misused. You don't need to know too much about using UML communication. Martin's refinement of UML provides you with the most essential things. In fact, the front and rear cover pages provide everything that you might use on a regular basis. The code for the UML example in this book is Java code.
Test-driven development:by Example (Kent Beck)
Test-driven development:by Example (Kent Beck; Addison-wesley 2002)
Test-driven Development (Chinese version) (Trikay, China Power Press, 2004)
Test-first programming will revolutionize programming and help you become a better programmer. Writing tests before writing code is difficult, but it is a powerful skill. By prioritizing your tests, you can make your code simpler and make sure that it works from the start (Beck practices The tests he advocates and writes JUnit, which is the most popular test framework in the Java language). Beck's book is an authoritative reference, and the expanded Money example is also written in the Java language. Beck details how to think with a test first (which may be a hurdle for many programmers).
The pragmatic Programmer:from journeyman to Master (Andy Hunt and Dave Thomas)
The pragmatic Programmer:from journeyman to Master Andrew Hunt and David Thomas; Addison-wesley 1999)
Programmer's Way of cultivation--from small to expert (Mavida, Electronics publishing House, 2004)
being a purely object-oriented developer has its advantages . In today's complex society, as a Java language developer, it is often a compromise to accomplish a task. Hunt and
Thomas explores how to accomplish a task without compromising what really matters. This is not a book about the Java language, but an important thought reading for Java language developers. For example, I don't think the programmer who benefited from the advice of "solving the problem, not shirking the responsibility", could not sign his masterpiece like a proud artist.
Peopleware:productive Projects and teams (Tom DeMarco and Timothy Lister)
Peopleware:productive Projects and teams (Tom demarco,timothy Lister; Dorset house,1999 year)
Human Parts (2nd edition) (Umlchina translation Group, Tsinghua University Press, 2003)
All the other books in this list are at least as relevant as technology. This book is not. In the ocean of all technical jargon and acronyms, sometimes software developers and managers forget that people make software. DeMarco and Lister remind us of this fact and remind us of the reasons for the formation of this area. It's not a book about a particular programming language, but it's the one that every Java language programmer should read. There are plenty of other good books about how tired programmers have backfired on managers, but this is the best one.
Learn the Java language from the beginning of reading!