Another wave of essential books for Java professionals

Essential books for Java professionals:

Every programmer has books that are often worn out as professional information. The following books should be on the shelf of Java language programmers. Books are expensive, so I deliberately keep this list short and limited to important books.

Thinking in Java (Bruce Eckel)

Thinking in Java, 3rd Edition (Bruce Eckel; Prentice Hall PTR, 2002)

Java programming ideas: 3rd Edition (translated by Chen haopeng et al; China Machine Press, 2005)

Eckel's book is extremely practical 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 introduced. The text comes from a person who doesn't think Java technology is always the right answer, so it's quite practical. Eckel has extensive experience in multiple languages and solid skills in thinking in an object-oriented manner. 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)

Effective JAVA Chinese Version (translated by Pan Aimin; China Machine Press, 2003)

This book is the best book to understand the principles of excellent Java programming. Most of the materials can't be found in other "learning java" books at all. For example, the chapter on covering equals () in Bloch's book is one of the best resources I've ever read. He also includes practical suggestions in his book: replacing abstract classes with interfaces and using exceptions flexibly. Bloch is the architect of sun's Java platform library, so he has a thorough understanding of the language. In fact, he wrote a large number 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)

Java programming language (3rd Edition) (translated by Yu Wanrong et al., China Electric Power Press, 2003)

This is probably the best Java primer you can get. It is not a standard specification, but a readable book that introduces the characteristics of each language. This book has a good balance between rigor and education, and can quickly attract people who understand programming to the Java language (and its rich class library).

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)

Java Concurrent Programming -- design principles and patterns (Second Edition) (translated by Zhao Yong et al., China Electric Power Press, 2004)

Not every developer needs such a detailed understanding of concurrency, and not every engineer can reach the level of this book, but there is no better overview of concurrency programming than this book. If you are interested, please start here. Lea is a professional programmer in sunny. His works and ideas related to concurrency are included in JDK 5.0 specification (quoted from jsr166), so you can rest assured that his suggestions on the effective use of Java language are worth listening to. He is a good communicator.

Expert One-On-One J2EE Design and Development (Rod Johnson)

Expert One-On-One J2EE Design and Development(Rod Johnson)

Wrox: J2EE design and Development Programming Guide (translated by Wei Haiping, electronic industry press, 2003)

For those new to J2EE, this is the only book that truly reflects this technology. This book contains many years of successful and failed experiences. Unlike many other authors, Johnson is willing to make his failed experiences public. J2EE is often overused. Johnson's book can 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)

Refactoring: improving the design of existing code (Chinese version) (translated by Hou Jie et al., China Electric Power Press, 2003)

Fowler has written several of the most popular programming books now published, including analysis patterns. His book on refactoring is a basic book on this subject. Refactoring code is a training ignored by programmers, but it is the most intuitive idea of programmers. Refactoring is to improve the design of existing code without changing the code results. This is the best way to keep your code clean and tidy. Code designed in this way is always easy to modify. When to refactor? When the code "smells". Fowler's book is full of examples of Java language code. Many Java language integrated development environments (ides) (including IBM's eclipse) include Fowler's refactoring, and each is named after his refactoring name. Therefore, it is worthwhile to be familiar with refactoring methods 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 vlisides; Addison Wesley, 1997)

Design pattern: the basis of reusable object-oriented software (translated by Li Yingjun et al., China Machine Press, 2005)

This is a more famous book in the professional programmer circle, based on the author's common nickname, This book is known as the book of the gang of four (GoF). Patterns are a reusable way to think and solve common programming problems. Learning patterns is a discipline. Use patterns well (or knowing when not to use patterns) is a skill. Ignoring patterns is wrong. All the examples in the book are expressed in C + +, but the Java language was born there, which makes it relatively easy for Java language programmers to connect with how to implement these patterns in the Java language. Being familiar with patterns and knowing how to use them well makes programming easier. This makes It is also easier to communicate with other programmers, because in a common solution to a common problem, patterns are a shortcut to describe a large number of related programming concepts that cooperate with each other in the solution. Some more general methods, such as factory methods, are ubiquitous, even in the Java language itself. For the topic of using patterns wisely, you can also read Joshua Kerievsky's refactoring to patterns, which says you can let the code tell you when to implement patterns.

Patterns of Enterprise Application Architecture (Martin Fowler)

Patterns of enterprise application architecture (Martin Fowler; Addison Wesley, 2002)

Enterprise application architecture model (translated by Wang Huaimin et al., China Machine Press, 2004)

Compared with small, one-time projects, enterprise development certainly represents a greater challenge. That doesn't mean that all the challenges brought by enterprise development are new challenges. In fact, sometimes this development has been completed before. Fowler has done many such projects. His book mentions some common solutions and provides guidance on using, compromising, and alternatives. Fowler's book contains some familiar patterns, For example, the model view controller (MVC) also provides some patterns you may not understand, such as the page controller pattern for processing specific page requests or behavior requests on Web sites. As you treat most patterns, once you read many patterns, you will think "I already know that pattern" 。 Maybe so, but it's helpful to have a common expression for referencing patterns. This kind of reference is a good help in large projects with multiple components (developed by different people).

UML Distilled (Martin Fowler)

UML disabled: a brief guide to the standard object modeling language (Martin Fowler; Addison Wesley, 2003)

UML essence: a concise guide to standard object language (3rd Edition) (translated by Xu Jiafu, Tsinghua University Press, 2005)

For professional programmers, UML is a very important general visual communication language, but it has been overused and recklessly abused. You don't need to know much about communicating using UML. Martin's refinement of UML provides you with the most core things. In fact, the front and back covers provide everything you can use on a regular basis. The code of UML examples in the 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) (translated by Cui Kai, China Electric Power Press, 2004)

Test first programming will revolutionize programming and help you become a better programmer. Writing tests before writing code is difficult at first, but it is a powerful skill. By giving priority to writing tests, you can make the code simpler, And ensure that it can work from the beginning (Beck practices the test first advocated by him and co wrote JUnit, which is the most popular test framework in the Java language). Beck's book is an authoritative reference, and the extended money example is also written in the Java language. Beck details how to think with test first (this may be the first obstacle encountered by many programmers).

The Pragmatic Programmer: From Journeyman to Master (Andy Hunt and Dave Thomas)

The Pragmatic Programmer: from journey man to master (Andrew hunt and David Thomas; Addison Wesley, 1999)

The cultivation of programmers -- from small workers to experts (translated by Ma Weida, electronic industry press, 2004)

Being a pure object-oriented developer has its advantages. In today's complex society, as Java language developers, they often have to compromise to complete tasks. Hunt and

Thomas explored how to accomplish a task without compromising what is really important. This is not a book about the Java language, but an important ideological reading for Java language developers. For example, I don't think a programmer who doesn't benefit from the motto "solve problems, not shirk responsibility" can 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) (2nd Edition) (translated by umlchina translation group, Tsinghua University Press, 2003)

All the other books on this list are at least somewhat technical. This book is not. In the sea 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 the reasons for this difference. This is not a book about a specific programming language, but it is a book that every Java language programmer should read. There are many other good books on "how tired programmers can backfire on managers", but this is the best one.

Learn java language well from reading!

The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>