Source: http://mp.weixin.qq.com/s?__biz=MjM5NzA1MTcyMA==&mid=202904638&idx=2&sn= 21dd20438e32a24e78e8c33dd4a0991e&scene=1#rd
The 9 books listed in this article are considered great books in the Java programmer community. When a programmer begins to learn Java, his first question should be how to choose a book as a guide to learning Java. This problem also shows that, compared to other tutorials and blogs, Java books are very important reference, mainly in the following two points
Usually books are written by more authoritative programmers.
Compared to other media, the book's description of the content is more detailed and explained more clearly.
The nine books listed in this article are my personal favorite Java books, and when I have time, I will hold them in my hand and read them. There are even some books I have read many times, and every time I reread, there will always be a new harvest. So these books are also the books that most Java programmers like.
Head First Java
Head First Java is the most suitable book for all programming or Java beginners, and I love the easy and entertaining head first style, which should be the most interesting book on Java. Whether it's beginner, intermediate or advanced, you can get something from it. You can learn about classes, objects, threads, collections, and other language features such as generics, enumerations, mutable parameters, and auto-boxing. This book also deals with swing, network programming, IO operations in Advanced Java programming, which allows beginners to have a more complete concept of java. If you are a Java beginner, don't hesitate, this book is the best for you.
Head First design mode
Head First design mode is also a head first series of books. The author is Kathy Sierra and its team. When I started reading this book in 2006, I didn't know much about design patterns. I can hardly answer the question of what the design pattern solves, how to solve the problem, how to use design patterns, and what the benefits of design patterns are. But when I finished reading the book, everything dawned on me. In this book, we introduce the inheritance and composition chapter, use simple and interesting examples, step-by-step questions and solve problems, and finally get the best solution. There are a lot of points to be summed up in this book, humorous dialogues, exercises and famous word solitaire to help you better understand design patterns. If you want to learn about design patterns in Java, take this book with you.
Effective Java
Effective Java This book is also one of my favorite. This book is for leaders to develop the Java collection framework and the Concurrency API package of Joshua Yas Block, the great God. This book is suitable for developers with years of experience in Java programmers, through this book we can be many of the best practices in programming, and can be learned from the JDK contributor to the great God of Brock. Effective Java is a highly rated book in terms of quality, content and problem-solving, so reading this book is a great experience. In addition, the chapters of this book are relatively lightweight and less coupled with other chapters, so it is also possible to read in travel or leisure time. In terms of content, effective Java contains the best solution from static factories, serialization, equals and hashcode to generics, enumerations, mutable parameters, and reflection. You'll benefit from this book's explanation of all aspects of Java knowledge.
Concurrency Practice in Java
Another book Yas Block the classics of the Great God, and of course the other author of the book is Doug Lea (the great God who has influenced the great changes of two times in Java history). This book is almost the authority for Java concurrency and multithreaded programming, and a must-read book for Core Java developers. The strength of the book is mainly manifested in
This book describes in great detail the many (small) details of multithreading and concurrency.
Instead of focusing on the implementation of core Java code, this book focuses on concurrency-related issues such as deadlocks, starvation, thread safety, competitive conditions, and then provides a workable way to solve these problems. So this book is a great way to help developers understand and master and contract and Countdownlatch,cyclicbarrier,blockingqueue,semaphore these classes. That's why I read this book over and over again.
The examples in the book are concise and clear, and can describe the problem.
Clear explanation: This book is a good explanation of what is wrong, why it is wrong, and how to correct it. This is one of the reasons why the book sells well.
Java Generics and collections
This book is a success from O ' Reilly, the author of Naftalin and Philip Wadler. As the title indicates, the content of this book focuses on the core aspects of the two Java languages of generics and collections. This book is a great help for programmers with programming experience in understanding and mastering collections and generics. This book details the api,set of each collection, List, Map, Queue, and their implementations, comparing their performance against different scenarios. The final comparison chart for each chapter is very good .
Java Performance
This book is my personal favorite, this book focuses on performance monitoring, profiling, and how to use tools for performance analysis. This book is different from other programming books because this book deals with the details of many Java virtual machines, garbage collection mechanisms, Java heap memory monitoring, and profiling of program performance. The chapters on the JVM are well written and well worth chewing. Note that this book belongs to the advanced level of programming, and reading needs to have enough Java programming experience. Beginner and intermediate Java Developers can also read this book and learn different levels of dry goods. So, you want to perform performance tuning and put the book on your bookshelf.
Java puzzlers
Then introduce a book written by Joshua Yas Block, the great God. Another author of this book is Neal Gafter (who has been transferred to Microsoft to do donet compiler technical lead). This book describes the extreme situations and pitfalls in the Java language. Compared to C++,java, the JVM has a garbage collection mechanism, so that Java programmers do not care about memory allocation and release, which greatly improves the development efficiency of the program. But sometimes even experienced programmers stumble over extreme situations or traps in Java. This book lists and details these pitfalls in Java. If you like to be inquisitive and in a dead alley, this book is written for you. Through this book, you can learn a lot about Java's core knowledge and know your Java level. I prefer the above mentioned book Yas Block effective Java and Concurrency practice in Java. But if you're interested, you can still try. To maximize your harvest, you can first try to solve the problem in the book and then compare the explanations in the book.
Head first Object oriented analysis and Design
This is a book on object-oriented programming that belongs to the head first series. This book is recommended to be read in conjunction with Head first design mode for better results. This book focuses on object-oriented design principles, such as multi-use combinations with less inheritance, programming for interfaces rather than implementing programming, and not repeating yourself. This book can help you write good code and reference best practices for optimization improvements. Of course, the content in this book is also suitable for programmers who use other object-oriented languages. To learn about object-oriented coding and design rules, start reading this book now.
Thinking in Java
Thinking in Java books should be the most famous Java Chinese book, the Chinese language is also known as Java programming ideas. The author is Bruce Eckel, who is also the author of thinking in C + +, who speaks Java in his own unique perspective. As far as I know, this book is a very high recognition, this book is a complete introduction of Java Learning Reference books. If you don't like head first, like picture, you can try this book. The contents of this book are detailed and mature (relative head first has a kind of textbook feeling).
This is my recommended book on Java programming, which can be described as classic classics. Like the effective Java and Head first series I've read it many times over and over again. Believe that after reading this article, according to their own level and want to improve the knowledge of the focus, you should be able to choose the most suitable for their own books.
Mark, take a look later ...
From: Technology Little black House
Links: http://droidyue.com/blog/2014/11/30/java-programmer-must-read-these-9-books/
9 books that Java programmers must read