Github open Source project: github.com/hansonwang9… Has been included, there are detailed self-study programming learning routes, interview questions and interviews, programming information and a series of technical articles, resources continue to update…


Lao will eat first

I have just finished the “Java backend development Learning Route”, many friends also said to recommend some corresponding books to see.

Recommendation is ok, but there are some things I’d like to talk about.

First of all, there is no doubt that for the “programming basics” part, there are a lot of classic books worth reading, each one is the aggregation of masters several years of experience, so to learn the basics of programming, for us ordinary people, reading is a direct and effective way.

Many classic books over may not be enough, again is the so-called “early see meng, see fan, three found a little something” speak, that is the reason why this thing is urgent, and some things do need a running process, some even after work practice will encounter, so cherish every time and recycled building process.

As for the “application framework” part, it is true that I read a lot of “from XX to XX” fast-food books at the beginning of learning, and spent a lot of money. It should be said that most of my non-academic self-study party is still ok, is a little harvest; But some of them also have a lot of problems, such as the technology is too old, or even knowledge or understanding of the deviation.

For this part, if it is completely 0 foundation can read a book entry, and when the basic usage through, have a certain practical experience, the most effective way to learn or research and development of documents. For many of the problems we encountered in practice, we found that documentation saved us in the end.

So the next part of the book is to recommend some basic classic books, the application of the framework part of the book as recommended.

Let’s take a look at the brain map of the Java learning path summarized in the previous article, “Java Backend Development Learning Path: String together all the Major Technology Points.”


The Java language

Core Java

As soon as I saw “Machine Press”, I knew things were not simple. Yes, this book is comprehensive, and the code examples in the book are good enough for general Java learning.

But now the latest version seems to be out of the “11th version”, there is a new version can use the latest.

Ideas for Java Programming

Boy, is it the Machine Press again, or the black book, the Java bible? If you are a pure beginner or Java Core Technology above is a little more acceptable, of course, after we have some foundation, this book can also be read, absorb some ideas from the Bible is always good.

Don’t say, I first liver respect!

“Effective Java”

How or “machine society”!

Yes, this is an advanced book, it is full of Java experience tips and guidance, such as Java more familiar after reading will be very fruitful

In-depth Understanding of the Java Virtual Machine

I Fo, or “machine society”! We all know that the JVM virtual machine is extremely important to Java, and this is a good book to understand the mechanism of the JVM

Practical Java High Concurrency Programming

Finally, a book that’s not from the Mechanical society. Great!

Indeed, this is used to start learning Java concurrent programming knowledge points or very suitable, basic, comprehensive, can understand, after reading the heart for Java concurrent this piece of things can guarantee a bottom.

Java Concurrent Programming

The authors of this book are the main members of the Java Concurrency Tool Expert Group, so they are authoritative, but if you learn Java concurrency, you will drill this book, and this book is translated, it is indeed a little obscure, if you read the above book, you can use this comparison to sublimate it.


Data structures and algorithms

Java Language Description for Data Structure and Algorithm Analysis

This book it is originally it is the classic foreign data structure and algorithm analysis teaching material, systematic comprehensive and rigorous, suitable for the Java language is more familiar, and data structure and algorithm some understanding of the students, of course, since it is a black book, pressure is certainly some, liver it.

Algorithms 4th Edition

This is another classic book on data structures and algorithms described in the Java language.


Computer Networking (TCP/IP protocol)

TCP/IP Volume 1: Protocols

Net things seem to be very miscellaneous at first glance, but grasp the idea of stratification after combing summary is actually also good. Like this book, it looks a little obscure on the surface, but when you put your heart into it, it’s totally understandable.

Computer Networking: The Top-down Approach

If you’re talking about the one that’s hard to read, let’s read this one.

Diagram of TCP/IP diagram of HTTP

If you think the above two books are hard to read, these are the only books to read.


/ SQL database

MySQL Must Know must Know

The book is not thick, the main SQL usage, good entry, can also be referred to as a booklet.

High Performance MySQL

The above usage is familiar, learning principle, improve database performance, you can read this, but the book is very thick, is a long-term battle did not run.


The operating system

Understanding Computer Systems in Depth (CSAPP)

If this book is purely about operating systems, it is more like a combination of computer and operating system. To tell the truth, look at the operating system of the book is not easy ah, the classic book is so a few, want to systematically learn to understand is to drop layer skin ah.

Modern Operating Systems

This one is also more systematic and comprehensive.


Design patterns

Head First Design Mode/Big Word Design Mode

Design mode entry, easy text, rich illustrations, clear logic, through it into the design mode of the door no problem.

Design Patterns: The Foundation of Reusable Object-oriented Software

With certain coding experience, further in-depth study and understanding to see this is better, this is the theory of improvement.


Linux uses/basic Shell programming

Of course, here said the basic level of use, common whether like “bird brother Linux private house dishes” this classic, or “Linux command line and shell scripting daquan” this daquan, can do manual to use, the book is too thick.


Application framework correlation

From here all is the “application framework” part of the content, as the beginning of the article said, a lot of fast food books, and the framework part of the iteration is too fast, all kinds of online blog posts are flying, plus official documents, so can refer to a lot of books, symbolically mention a few books.

  • Spring In Action
  • Spring Boot 2.x
  • Redis Design and Implementation
  • Deep Understanding Kafka: Principles of Core Design and Practice
  • Netty In Action
  • Principles and Practices of Distributed Consistency from Paxos to Zookeeper
  • Distributed Services Framework Principles and Practices
  • Design Patterns for Microservices Architecture
  • High Availability And Scalable Microservices Architecture
  • Docker Containers and Container Clouds

Accept work

Thank you guys for being here.

Reading is not the goal, reading is only an input way of learning, the important thing is understanding, practice and output. Due to the short time, the books listed in the article are only for reference, if there is any omission or other good books recommended, friends can also be amicably up.

Postscript: Github Open Source project: github.com/hansonwang9… Has been included, there are detailed self-study programming learning routes, interview questions and interviews, programming information and a series of technical articles, resources continue to update…

Make a little progress every day. Slow down to go faster