Introduction:

As the first choice of enterprise application development, Java is favored by large Internet companies. For those looking for jobs, Java may still be the preferred backend engineer. Although Python is gaining popularity, Java, as an old language, is still firmly established in the enterprise, and its market space is still hard to shake.

The salary difference between different levels of IT practitioners is very large, I believe that every programmer is not willing to do only a “code machine”, hope their IT road can go further! To become an excellent Java engineer needs to master quite a lot of knowledge, in addition to the Java programming language, operating system, data structure and algorithm, database, common framework, design patterns, website architecture and many other skills are all required to master.

What are the must-read classics for learning Java? Here are some books you must read to systematically learn the Java language. They have passed through countless word of mouth and become the most popular classics in the Java field!

​​

1.Java Core Technology (the 11th edition of the original book)

​​

If you want to learn Java formally and systematically, and plan to apply Java to real engineering projects, this Java Core Technology book is essential.

Java Core Technologies has won the Jolt Award and has been popular among Java programmers since its publication. Keeping up with the changing times, each new release keeps up with developments in the Java development kit as quickly as possible, and each release has been partially rewritten to take advantage of the latest features of Java.

This book is divided into two volumes: I and II, which completely explain the learning path of Java developers. Volume II: Focuses on advanced topics you need to know about software development.

By the end of this book, you will be a real Java programmer. The comprehensive book is not a simple list, but through careful organization, sorting out a clear thread from the Java complex content, constitute a complete knowledge system. This book not only gives you an in-depth understanding of all the basics and Java features involved in designing and implementing Java applications, but also helps you master all the basic skills needed to develop Java applications.

Read the advice

First, read through the book to accurately understand the main concepts and the functions and uses of each feature without going into the details. You can skip the GUI programming, Swing, and some logging chapters. The knowledge of concurrency is relatively in-depth, which can be roughly understood in the basic stage, and it needs to spend a lot of energy to learn separately later.

After a second round of learning, the goal is to have the ability to develop and introduce on the one hand, combined with the book to read and understand the sample code, especially the complete program list, on the other hand, the sample code to get hands-on experience in the development environment, also can try to do some modification and extension, specific to master how to use Java features, able to write a Java application to solve practical problems.

2.Java language programming fundamentals, the 12th edition of the original book

​​

“Java language programming” is selected by universities around the world as teaching materials, the world’s best-selling for more than 20 years, the 12th edition according to Java9-11 update. This book explains the problem solving skills through examples, provides a large number of program lists, each chapter is equipped with rich review problems and programming exercises, to help readers master programming skills and solve the problems encountered in the actual development. This book is more basic than Java Core Technology. If you have trouble reading Java Core Technology, you are advised to start reading this book.

3. Thinking in Java, version 4

​​

Java Core Technology focuses on technology, while Java Programming Ideas focuses on “ideas,” breaking down the design philosophy of everything in Java. You need to have some programming background to read, even if a lot of the content is not understood, but you will learn something every time you read it. This is a good book that grew up with our technology. Buy one and put it next to you.

4.Effective Java Chinese Version (original Book 3rd Edition)

​​

“I wish I had this book 10 years ago. One might think I don’t need any Java books, but I need this book.” — James Gosling, the father of Java

Do you know if you should read a book recommended by James Gosling, the father of Java? Joshua Bloch, a former chief architect at Google, is a super-tech geek and the author of several key Java classes and apis.

With 90 short, independent rules of thumb, we explore new design patterns and language idioms to help you use the Java programming language and its basic libraries more effectively, and steer you away from missteps. These rules of thumb cover solutions to problems that most developers face every day. It is suitable for programmers who have mastered Java core technology and developers who want to have a deeper understanding of Java programming language. Is an indispensable reference book on the Java developer’s desk.

5.Java concurrent programming practice

​​

For Java programmers, mastering concurrent programming is one of the most important criteria to judge whether they are good or not. Because concurrent programming is a relatively obscure knowledge point in Java language, it involves operating system, memory, CPU, programming language and other basic abilities, but also tests the internal skills of a programmer. Therefore, to become an experienced Java backend engineer, concurrent programming must be firmly mastered.

Java Concurrent Programming In Action is a landmark book of Java concurrent programming! Starting with the basic theory of concurrent programming, this paper introduces various important design principles, design patterns and thinking patterns in designing concurrent Java programs, so that developers can quickly understand the key points of concurrent Java programming and quickly build large-scale concurrent applications. Joshua Bloch, author of Effective Java, also helped write this book. Another book, The Art of Concurrent Programming in Java, by a Chinese author, is also suitable for reading.

6. An in-depth understanding of the Java Virtual Machine (Version 3)

In Java development architecture, the role of architect, system tuner, senior programmer and so on has always been in great demand. In large-scale and enterprise-level production and development, it is urgent for developers to have a clear understanding of the characteristics and adjustment methods of virtual machines. Learning the mechanics of the various automated features of virtual machines has become an inevitable lesson for Java programmers as they grow up.

The JVM is a very important part of the interview process. You will be asked a lot of questions about the JVM before you can truly understand the Java language. When studying this part of the JVM, be sure to combine practice with theory.

“Deep Understanding of Java Virtual Machine”, written by Zhou Zhiming, helped hundreds of thousands of Java development engineers and architects in China to deepen their understanding of JVM, and raised the internal skill level of Java developers by themselves, bringing JVM to the primary interview questions. The third edition of this book updates more than 50% of the content, from Java technology system, automatic memory management, virtual machine execution subsystem, program compilation and code optimization, efficient concurrency five dimensions of a comprehensive analysis of virtual machines. Practical oriented, through a large number of practical cases, share solutions and skills to solve various Java technology problems. Almost cover all knowledge points of interviews in large factories. Worth reading and re-reading for all Java technologists.

7.Java Virtual Machine Specification (Java SE Version 8)

​​

Oracle official release, Java virtual machine technology founder wrote, Zhou Zhiming and other experts translated, Amazon bestseller. A complete and accurate exposition of the Java Virtual Machine specification is a classic insight into the details of the Java Virtual Machine and the Java language implementation.

These are some of the best books I recommend for Java developers to read. From shallow to deep, Java language programming -Java programming ideas -Java core technology -Java concurrent programming -Java virtual machine

I would like to make two suggestions for those who are just getting started with Java:

1, write more and knock code, good code and solid basic knowledge must be out of practice, our teacher said to us before! If you can’t write code, knock more, 7 times a course of treatment, guarantee effective.

2, you can go to B station and other websites to see some Java basic video, also very good, such as Thor, crazy God, etc

Finally, I hope you can learn more, think more, practice more, learn together, make progress together, and make yourself more excellent! Get to the technical peak early.