Open up any job site and look at the skills required for a senior Java engineer.

Aside from other experience, ability, etc., there are some common points that can be found purely in terms of technology or knowledge.

  • Java based
  • Computer Fundamentals
  • Database, SQL/NoSQL
  • Common Open Source Frameworks
  • Distributed/microservices
  • Middleware, caching, messaging middleware

Books are one of the best sources of knowledge. Technical books are vast, there are many “XXX entry to master”, “XXX Return”, “21 days to learn XXX” such books on the market, of course, there are many classics, personal energy is limited, these classics can not be read through. Therefore, the blogger tried to sort out a list of core books for the knowledge required by Java engineers, and selected some of the most core and classic books for the knowledge required by Java engineers, hoping to learn and make progress together.

Java based

  • Java Core Technology

    Needless to say, one of the most influential and valuable books in the Java field.

  • Ideas for Java Programming

    This one needs no introduction. It’s a timeless classic.

The above two classics, the flaws are probably the translation, technical translation will inevitably have some words, if the English reading ability is good enough, you can see the Original English. Domestic “crazy Java handout” is also acceptable.

Java advanced

concurrent

  • The Art of Concurrent Programming in Java

    The blogger thought it was good, but the score of Douban was not as high as expected. The content may be incoherent due to the cooperation of three people. Domestic authors write concurrent Java books, relatively simple and easy to understand, widely circulated Java thread state changes map from this book.

There is also a “Java concurrent programming practice”, Java concurrent toolkit, one of the main authors of the book, but the translation of the pot, can see the original version of the recommendation to see the original.

The best source for JUC is the source code, where Doug Lea hides his One Peace.

JVM

  • In-depth Understanding of the Java Virtual Machine

    JVM, this one is enough. One blogger wrote: “If you see an article about the JVM and it doesn’t refer to this book at the end of the article, it’s because the author didn’t have enough copyright awareness. “

Program optimization

  • ** *Effective Java

    Known as the Magic Book of Java Programming Ideas, it explains how to write robust, efficient code, although some development experience is required.

The framework

Spirng

  • Spring In Action

    Spring Introduction classic book.

  • Spring Revealed

    The book is older, but the concept and principle is very clear, after reading, look at the source code of Spring5 is also very good.

SpringBoot

  • Spring Boot 2.x

    The blogger has read a lot of SpringBoot books, personally feel this is good, more detailed, comprehensive.

MyBatis

MyBatis official documentation has been done well enough, basic use to check the official website is enough.

  • MyBatis Technology Insider

    MyBatis source code analysis of the book is not many, recommend this, combined with the source code to read better.

Computer Fundamentals

Data structures and algorithms

Among the four basic courses, the most important one for Java engineers should be “Data Structure”. Data structure and algorithm are generally inseparable, so they are put together.

  • Data Structure and Algorithm Analysis

    Foreign data structure and algorithm analysis of the classic textbook, the content is comprehensive, rigorous and strict.

In fact, I would like to recommend a textbook — Data Structure by Teacher Yan Weimin, but this book is in C language version, and there are not many code implementations, so it may seem difficult.

There is another book, Introduction to Algorithms, not much to say 😂

Computer network

  • Computer Network

    I can’t help but recommend a textbook, which is comprehensive and systematic, but may not be friendly to non-koji players.

  • Illustrated HTTP

    This need not introduce more, very vivid explain HTTP protocol book, read more friendly.

The operating system

  • Understanding Computer Systems in Depth

    A well-reviewed book on computer operating systems, but the black book can be difficult to read.

I’ve covered the Fundamentals of Computer Composition here, which may not be as important to Java development as more low-level development such as embedded systems. Of course, understanding some coding, operations, instructions, IO and so on is relatively helpful for understanding the underlying layers. When the author learns, he uses tang Shuo fei’s “computer composition principle” teaching material.

The database

MySQL

  • SQL Must Know must Know

    Very popular MySQL primer, can also be used as a reference book.

  • High Performance MySQL

    MySQL domain classic, advanced must see.

Redis

  • Redis Development and Operation

    From the development, operation and maintenance of two aspects of Redis combat experience, in-depth analysis of the underlying implementation, including large-scale cluster development and operation and maintenance of actual cases. Some of the API introductions are also Java oriented.

  • Redis Design and Implementation

    Redis Advanced Classic books.

About another popular NoSQL MongoDB, considering the application scenarios are not as extensive as the above two, so it is not listed, the blogger has seen the “MongoDB Combat”, feel can also.

Distributed/microservices

  • SpringCloud Micro-service Combat

    Not a bad SpringCloud book.

  • Spring Cloud Alibaba Micro Service Principle and Practice

    Some components of Netflex are in maintenance, Spring Cloud Alibaba is popular recently (technology changes really fast), there are not many books on this topic, this one is relatively recommended.

Another open source distributed framework that is often compared to SpringCloud, official documentation is probably enough.

Message middleware

Pick one of the three most popular messaging middleware.

  • RabbitMQ Field Guide

    Simple and clear RabbitMQ technical book.

  • The Definitive Guide to Kafka

    There are plenty of great Kafka books out there. Here’s a guide to Kafka.

  • RocketMQ Field and Principles

RocketMQ is short on books, but this one is a good primer and a little thin on principles.



In addition to the main categories listed above, here are some more.

Container recommended “Docker from getting started to practice” “Kubernetes authoritative Guide”;

Maven recommends Maven In Action;

Git recommends ProGit;

Linux is, of course, Birdman’s Linux home dish;

Elasticsearch: Elasticsearch

Design Patterns recommends Zen of Design Patterns.

Well, the main recommendation is here, due to the technical vision of the blogger is limited, and as far as possible to compress the book list (😂), so some recommendations may not be very reasonable, some classic books are not listed, there are different opinions or supplements, welcome to point out.


Reference:

[1] : What are the recommended Java books?

(2) : 2020 Java back-end engineer book recommendation | taro source – pure source code parsing blog