What are the introductory books on Java? You will know after reading this article. This article contains book recommendations for various stages of learning Java. It is the most complete in history. How to learn Java without books, just like There is a reason for going on an expedition without weapons. These books are compiled for everyone to use as a reference for learning, especially for self-learners. If you are still at a loss and don’t know what books to read, this article will be helpful to you. Without further ado, Below I will recommend some good books for advanced Java.
Part One: Java Language
1. "Java Programming Specifications" Suitable for: Beginner and intermediate levels
Introduction: The author of this book is James Gosling, who is known as the father of Java. It is recommended reading for beginners. It explains the basics very well.
2. "Java Programming Thoughts" Suitable for: Beginner and Intermediate
Introduction: Douban gave it a score of 9.1 and is widely praised by programmers around the world. Some people say that this book is not suitable for beginners, but the editor believes that the author does not place too many demands on the readers' existing knowledge and experience, but only requires that the readers know basic programming languages. The author explains each obscure and abstract concept with easy-to-understand and small but direct examples, which requires time to study carefully.
3. "Java Core Technology: Basic Knowledge Volume I" Suitable for: Beginner and Intermediate
Introduction: Official institutional book, it is always a good idea to have a copy. This book is comprehensive and easy to understand. It can be used as a dictionary and is a must-have for getting started with learning.
4. "Java Data Structures and Algorithms" Suitable for: Beginner, Intermediate, Advanced
Introduction: This book is basically out of stock, which shows how popular it is. The author mainly uses Java language to describe our commonly used data structures, which is worth a read.
5. "Java and Patterns" Suitable for: Intermediate and advanced level
Introduction: A rare good Java book written by a Chinese. A practical textbook that mainly explains design principles and the most common design patterns. This book appeared relatively early and is one of the must-read books for beginners to intermediate to advanced students.
6. "SCJP Study Guide" Suitable for: Beginners and intermediates
Introduction: A must-have book for the official exam, which is very helpful for testing your own Java learning. This book is especially suitable for students to read. If you understand this book thoroughly, you will not have any problems with Java questions in job interviews. Some engineers who have worked for many years will encounter some problems that they cannot solve.
Part 2: Intermediate Advanced Chapter
1. "Refactoring: Improving the Design of Existing Code" Suitable for: Intermediate, Advanced
Introduction: Clearly reveals the process of refactoring, explains the principles and best practices of refactoring, and gives when and where to start digging into the code and improving it. The masterpiece of a master lets you understand that software is improved step by step, not achieved overnight.
2. "XML Introduction Classic" Suitable for: Beginner, Intermediate, Advanced
Introduction: Many people think there is no need to buy XML books, but I still recommend one as a reference book for you , and reading this book can make you understand all aspects of XML. Many things in it are still used.
3. "JQuery Basics Tutorial" Suitable for: Beginner, Intermediate, Advanced
Introduction: Learning jQuery from this point is the foundation, otherwise you will encounter many strange problems in the future without knowing why. Personally, I feel that jQuery has become the current JavaScript standard library, with countless plug-ins, which greatly simplifies front-end work.
4. "The Definitive Guide to JavaScript" Suitable for: Beginner, Intermediate, Advanced
Introduction: A reference book that introduces JavaScript from a new perspective and level, filling a gap in the market. It is one of the essential reference books for learning js.
5. "How to Clean Code" Suitable for: Intermediate and Advanced
Introduction: Describes a series of effective clean code operation practices. The ideal coding in software engineering is that code compiled by countless people looks like it was written by one person. This book is good as a standard.
Part Three: Advanced Chapter
1. "Enterprise JavaBeans 3.0 Chinese Version" Suitable for: Intermediate, Advanced
Introduction: EJB technology is used in large systems, mainly banks and other financial institutions. It is one of the options for developing distributed programs, but I don't like it. In fact, banks don't use it very much. Used in combination with JavaEE containers, open source ones include JBoss, and commercial ones are supported by IBM and Oracle.
2. "Java Concurrent Programming Practice" Suitable for: Intermediate, advanced
Introduction: The title of this book "Java Concurrent Programming Practice" somewhat obliterates its value, and it does not only tell In addition to Java's multi-threading facilities, it also has a fairly thorough explanation of general concurrent programming rationale. There are relatively few books on concurrent programming on the market, but this one is recommended.
3. "The Definitive Guide to Hadoop" Suitable for: Intermediate and advanced
Introduction: A must-have book on cloud computing. As a distributed computing tool, Hadoop can be said to be the only mature product on the market, and everyone is following it. Since cloud computing is very popular, if you understand this book, you will roughly understand what the cloud is and how to build the cloud.
4. "Java Message Service" Suitable for: Intermediate and advanced
Introduction: Explains the underlying technology of JMS1.1 specification, Java classes and interfaces, programming models and their different implementations, etc. Java messages in a simple and easy way Key technologies of services (JMS) and messaging mechanisms. The explanation is simple and clear, focusing on how to use and some principles of design. The layout is quite good.
"Java Core Technology Volume 1 Basic Knowledge (Original Book 10th Edition)"
This volume is enough for beginners. This volume is very basic and easy to understand. It is easier to read than "Java Programming Thoughts". It is recommended that everyone has one copy. It has reached the 10th edition, covering the latest technology, and is frequently read.
《Java8 Practical Combat》
New features of Java8 The most comprehensive and careful.
《Effective Java》
Effective Java is one of the best programming books I have ever read. It contains a large number of excellent Java programming practices and It gives insightful advice on generics and concurrency, two Java features full of pitfalls, so much so that James Gosling, the father of Java, prefaced the book: "I wish I had this book 10 years ago. Maybe Some people think that I don’t need any Java books, but I need this book."
"Spring Practical Combat (No. 4th Edition)》
"Mastering Spring 4.x - Practical Enterprise Application Development"
The above 2 books The blogger has bought them all. It is a great book. The SpinrgMVC dry information series written by the blogger refers to the contents of these two books.
《Spring Boot in Practice》
《JavaEE development subversive: Spring Boot in practice》
"SpringBoot Revealed: Quickly Build a Microservice System"
All the above three Spring Boot bloggers have read it, and some of the series of articles have also been referenced from the book, and they have benefited from it. Very shallow.
"In-depth understanding of Java Virtual Machine 2nd Edition"
A very excellent and rare domestic masterpiece, systematic Introduces the Java virtual machine and related tools, and gives some tuning suggestions.
"Java Concurrent Programming in Practice"
Java concurrency classic, everyone has a copy Needless to say, the system is comprehensive Introduces the concurrency of Java, how to design data structures that support concurrency, and how to write correct concurrent programs
"Practical Java High Concurrency Programming"
This new work by a Chinese author is smooth and easy to read, and the content is more up-to-date than the previous one.
《Head First Design Pattern》
For newcomers, a book written in Java called "Head First Design Pattern" 》, it is enough to know what design pattern is.
《Redis Practice》
This book introduces the five data types of Redis in a simple and easy-to-understand manner, and demonstrates the usage of Redis through multiple practical examples. In addition, the book also describes the optimization methods and expansion methods of Redis. It is a rare reference book for learning and using Redis.
《Redis Design and Implementation》
Redis is one of the NoSQL that has been particularly popular in recent years. Looking at various books at home and abroad, none of them can provide an in-depth analysis of the internals of Redis. "Redis Design and Implementation" is the first of its kind.
"Redis Practice" and "Redis Design and Implementation" are both written by the same author, but the actual practice is the author's translation of the foreign English original. The latter is written by the author himself, and you can choose it based on the situation.
《Maven Practical Combat》
Personally, I feel that the writing is quite good, from the basics to the application, it is very comprehensive and suitable It is also suitable for beginners and people with a little experience. After reading this book, it will be enough for daily work.
"The Authoritative Guide to Java Performance"
It goes into more depth than the tuning bible many years ago. It is also closer to the current JDK. You can pick some knowledge points from it and answer Java tuning interview questions.
"Effective Unit Testing"
Different from those advanced books that often use BDD, they focus on how to write "good unit testing" "Maintainable unit tests can save a lot of saliva when shown to the team.
"Refactoring: Improving the Design of Existing Code"
"How to Clean Code"
"Professional Qualities of Programmers"
Although the above three books are old books, they are all worth reading. of. You can bring it with you when you collect orders with full discounts.
"Programmer's Health Guide"
The blogger plans to buy a copy of this, but now I feel pain in my back after sitting for a long time while writing articles, and I burst into tears. The blogger wants to live a few more years.
If I really want to improve myself, I feel that the most important thing is to first learn and master the three knowledge points of JVM, concurrency, and network. These three are the foundation. All frameworks, middleware and other related things are based on these three knowledge points. After learning these three knowledge points, you can quickly master other knowledge, new frameworks, etc.
Continue to share with everyone, a must-read book for advanced seniors or architects.
1. HeadFirst Design Pattern
If you don’t know about design patterns, you can start with this book, or graphic design patterns.
I also bought a copy of "Java and Patterns" with more than 600 pages. I stopped reading after reading two chapters, it was boring and boring, and I forgot about it after reading it. I just read the "HeadFirst Design Pattern" in its entirety, and I wasn't really impressed after reading it. I only knew that there were these design patterns, and I had a rough idea of what they were used for. I only really understand design patterns when I read the source code. If you want to truly understand design patterns, it's better to read more source code.
2. In-depth analysis of spring source code
This book mainly analyzes spring loading configuration files, parsing tags, and generating beans. IOC, AOP source code explanation, JDBC integration, SpringMVC source code analysis, etc.
This book is a bit boring to read. You must download the source code and combine it with the analysis of the previous part of the book. Reading the book alone is not effective. Students who have not read the source code should proceed with caution.
3. Refactor and improve the design of existing code
Everyone recommends this book, I will recommend it too, I want your code The writing is better, the logic is clearer, it is easy to read and has been expanded, so buy one. In fact, I haven't even read this book in its entirety.
4.Effective Java
This book has nothing to say, it is a classic and a must-read.
5. Large website technical architecture
Mainly from the basic theory of the characteristics of large website architecture and architectural goals (high performance, high availability, scalability, etc.) Talk about it. It seems relaxing and enjoyable, take the time to read it again. I strongly recommend everyone to buy a copy.
6. In-depth analysis of the inside story of java web technology
image.png
A must-read for advanced web development. When I was reading the tomcat source code, I started from the tomcat chapter of this book.
7. Aha Algorithm
This book was recommended to me by a friend. It is really interesting and the algorithm is simple and easy to understand.
8. From Paxos to Zookeeper distributed consistency principles and practices
Reading this book is my understanding of two-phase commit of distributed transactions (2pc) , three-stage submission (3pc), and have a deeper understanding. CAP theory BASE theory. Gained a deep understanding of distributed consistency. When I saw zookeeper, I was a little confused and said I couldn't understand it. After recently reading "Architecture Adventure: Writing a Distributed Service Framework from Scratch", I have a deeper understanding of zookeeper. If you have time, re-read Zookeeper related content.
9. This is what the search engine
colleague recommended. After reading this book, I have a deeper understanding of the inverted index. You can also easily implement a very simple search engine yourself. The knowledge related to crawlers is also introduced. It's basically at a theoretical level.
10. Large website system and Java middleware practice
11. Cervical Spondylosis Rehabilitation Manual....
Related recommendations:
Recommendation of good books for learning Java
Recommendation of PHP introductory books suitable for beginners
The above is the detailed content of What books should I read to learn Java from scratch? Recommended advanced java books. For more information, please follow other related articles on the PHP Chinese website!