Java Engineer book list recommended

I recommend a Java engineer book list, which covers almost everything from the beginning to the actual practice. No matter you are a student majoring in computer science, or you want to switch to Java development, or you are engaged in Java development for many years. I believe this book list can make you gain. [Java book list] can be automatically obtained.

1. Java based

This topic covers everything from Java basics to advanced features, and each book can be tailored to your needs.

1.1. Java programming ideas

The book has won widespread praise from programmers around the world, and even the most obscure concepts are lost in the face of Bruce Eckel’s literal affinity and small, straightforward programming examples. From the basics of Java syntax to the most advanced features (in-depth object-oriented concepts, multithreading, automated project building, unit testing, debugging, etc.), this book will guide you step-by-step.

Java 1.2. Head First

Head First Java is a complete object-oriented (OO) programming and Java learning guide. This book is designed with learning theory in mind, allowing you to start from the basics of programming languages all the way up to projects that include threading, networking, and distributed programming. Most importantly, you’ll learn how to think like an object-oriented developer.

And not just reading dead books, you’ll play games, jigsaw puzzles, solve puzzles, and interact with Java in unexpected ways. During these activities, you’ll write a bunch of real Java programs, including a ship and gun battle game and a web chat program.

1.3. Java Core Technologies (Volume 1)

The JAVA core technology (1) : basic knowledge (the original version 8) is the latest edition of the JAVA core technology, since the publication of the JAVA core technology has been well favored by readers, each new version as soon as possible to keep up with the pace of the development of JAVA development kit, and each version to rewrite a part of, To adapt to the latest features of Java. This release is no exception, as it encounters the new features of Java SE6. The 14 chapters cover the basics of Java program structure, objects and classes, inheritance, interfaces and inner classes, graphical programming, event handling, Swing user interface components, deploying applications and applets, exception logging assertions and debugging, are described in a simple way, and contain numerous examples. To help readers fully understand the Java language and Java type library related features.

1.4. Java Core Technologies (Volume 2)

JAVA Core Technology Volume 2: Advanced Features is the authoritative guide to JAVA technology, covering all advanced topics of JAVA technology, including streams and files, XML, networking, database programming, advanced Swing, Advanced AWT, JavaBean artifacts, security, distributed objects, scripting, compilation and annotation processing, etc. Localization, internationalization, and Java SE 6 are covered. JAVA Core Technology Volume ii: Advanced Features is a precise, concise exposition of JAVA technology, and contains numerous examples to help readers fully understand the JAVA language and JAVA class library features.

2. Concurrent programming

Concurrent programming is a means to take full advantage of computer power and is a necessary skill for advanced engineers.

2.1. The Art of Concurrent Programming in Java

Concurrent programming field of the best work, the author is ali and yihaodian senior Java technology experts, has a very in-depth study of concurrent programming, “Java concurrent programming art” is the crystallization of their years of front-line development experience. Parts of this book were published early on in the Java Concurrent Programming Network and in the InfoQ technology community and received very high reviews. It selected the most core technology in Java concurrent programming to explain, from JDK source code, JVM, CPU and other aspects of a comprehensive analysis and explain the Java concurrent programming framework, tools, principles and methods, Java concurrent programming has carried on the most in-depth and thorough elaboration.

The Art of Concurrent Programming in Java covers the underlying implementation of concurrent programming in Java, the Java memory model, the basics of concurrent programming in Java, locks in Java, concurrent containers and frameworks, atomic classes, concurrent utility classes, thread pools, Executor frameworks, and more. At the same time, some examples are given to illustrate how to apply these techniques.

2.2. Java concurrent programming practice

This book provides a straightforward introduction to Java threads and concurrency and is the perfect Java concurrency reference manual. Book, starting from the basic concept of concurrency and thread safety, introduces how to use the class library provides the basic building blocks, concurrently used to avoid concurrent risk, tectonic thread-safe classes and verify thread safety rules, how to small thread-safe classes combined into larger thread safety, how to use a thread to improve the throughput of concurrent applications, How to identify can be executed in parallel tasks, how to improve the responsiveness of single line the number of days system, how to ensure that concurrent programs perform the desired task, how to improve the performance and scalability of concurrent code and so on, finally introduces some advanced topics, such as explicit lock, atomic variables, nonblocking algorithms and how to develop a custom synchronous tools.

3. JVM

Familiarity with the JVM is also a must for advanced engineers

3.1. An In-depth understanding of the Java Virtual Machine (Version 3)

This book is an in-depth analysis of the JVM from two dimensions of working principle and engineering practice. It is recognized as a classic in the computer field, and the traditional version is also very popular in Taiwan.

Since its launch in 2011, the first two editions have been printed 36 times and sold more than 300,000 copies, with nearly 90,000 comments from two major online bookstores and almost zero negative comments. It is an insurmountable milestone in the field of original computer books.

4. Data institutions and algorithms

Java programmer’s internal work, but also an essential part of the interview

4.1. Big talk data structures

This book for the super bestseller “big talk design mode” author Cheng Jie three years to launch the gangbang! Take a computer teacher teaching as the scene, explain the knowledge of data structure and related algorithms. The whole article is narrated in an interesting way, citing a variety of life knowledge analogy, and make full use of graphic language to reflect the abstract content, the data structure involved in some classical algorithms to do line by line analysis, multi-algorithm comparison. Compared with similar data structure books on the market, this book is interesting and easy to read, and the algorithm is detailed and profound, which is a very suitable reading for self-study.

This book takes a computer teacher teaching as the scene, explaining the knowledge of data structure and related algorithms. Throughout? An interesting way to describe, a large number of references to a variety of life knowledge to analogy, and make full use of graphic language to reflect the abstract content, the data structure involved in some classical algorithms to do line by line analysis, multi-algorithm comparison. Compared with similar data structure books on the market, this book is interesting and easy to read, and the algorithm is detailed and profound, which is a very suitable reading for self-study.

4.2. Algorithms (4th Edition)

This book provides a comprehensive overview of algorithms and data structures and is worth every penny.

4.3. Introduction to Algorithms (3rd Edition of original Book)

The book gives a thorough introduction to computer algorithms. The analysis of each algorithm is easy to understand and interesting, while maintaining mathematical rigor. The design of this book is comprehensive and suitable for a variety of purposes. Topics covered include: the role of algorithms in computing, probability analysis and an introduction to stochastic algorithms. The book focuses on linear programming, introduces two applications of dynamic programming, approximation algorithms for randomization and linear programming techniques, and discusses recursive solutions, partition methods used in quicksort, and expected linear time-order statistical algorithms, as well as elements of greedy algorithms. This book also introduces the proof of the correctness of the strongly connected subgraph algorithm, the PROOF of the NP completeness of the Hamiltonian loop and the subset summation problem. The book provides more than 900 practice and thinking questions as well as detailed case studies.

Database of 5.

No matter what language back-end development, database is an essential part

5.1. MySQL must know must know

MySQL is one of the most popular database management systems in the world. It starts with simple data retrieval and moves into more complex topics, including the use of joins, subqueries, regular expressions and full-text based searches, stored procedures, cursors, triggers, table constraints, and more. The reader is instantly enhanced by a clear, systematic and succinct presentation of what he or she needs to know through focused chapters.

InnoDB Storage Engine (Version 2)

MySQL Technology Insider :InnoDB Storage Engine (2nd Edition) was written by senior MySQL experts in China and recommended by many database experts at home and abroad. As the only monograph about InnoDB in China, the first edition of “inside MySQL Technology :InnoDB Storage Engine (2nd Edition)” has been widely praised. The 2nd edition not only makes a comprehensive supplement to the latest MySQL 5.6, but also improves the shortcomings of the 1st edition according to the feedback of the vast number of readers. MySQL Tech Insider :InnoDB Storage Engine (Version 2) is about 50% rewritten. MySQL Tech Insider :InnoDB Storage Engine (Version 2) provides an in-depth analysis of InnoDB’s architecture, implementation principles, and working mechanism from the perspective of source code. It also provides a lot of best practices to help you master InnoDB systematically and deeply. More importantly, It provides excellent guidance for designing and managing high-performance, highly available database systems.

5.3. High Performance MySQL(Version 3) : Version 3

High Performance mysql(Version 3) is a classic in the mysql field with a wide range of influences. Release 3 contains a number of updates, including new features in the latest mysql 5.5 release, as well as new content on solid state drives, highly scalable design, and databases in cloud computing environments. The benchmarking and performance tuning sections have also been extensively expanded and added. The book is divided into 16 chapters and 6 appendices, covering mysql architecture and history, benchmark testing and performance analysis, database software and hardware performance optimization, replication, backup and recovery, high availability and scalability, aS well as mysql in the cloud and mysql related tools. Each chapter is a relatively independent topic, and the reader can choose to read it on its own.

High Performance mysql(Version 3) is not only for database administrators (DBAs), but also for developers. No matter database novice or expert, I believe all can gain from this book.

5.4. How does MySQL run: From the root understand MySQL

Nuggets quiz link: juejin.cn/book/684473…

“How MySQL Works: Understanding MySQL from the root” uses humorous expressions to introduce the underlying operating principles of MySQL, covering some core concepts common to students who use MySQL in job interviews and work.

“How MySQL Works: Understanding MySQL from the Root” has 22 chapters in total, divided into 4 parts. Part 1 introduces you to the basics of MySQL, including server and client programs, MySQL startup options, system variables, and character sets. Part 2 is the foundation for the rest of the book, introducing some of the basics of MySQL, such as records, pages, indexes, table space structure and usage, etc. The third part is closely related to the query optimization problem that we often encounter in our work. It introduces the execution principle of single table query and join query, what specifically refers to the optimization of MySQL based on cost and rules, and analyzes the execution results of Explain statements in detail. Part 4 is about transactions and locks in MySQL. It introduces the origin of transactions and how MySQL implements transactions, including redo logs, undo logs, MVCC, and various locks.

Although the MySQL source code version was 5.7.22 when I wrote How MySQL Works: Understanding MySQL from the Root, most of the content has little to do with the specific release number. This is a great book for anyone who has been a MySQL expert for a long time, a DBA who wants to further improve his or her skills, or even a “new kid on the block” for three or five years to get a thorough understanding of how MySQL works.

6. Common frameworks

There are a lot of great frameworks that will be used in the actual development process, and as a developer, you need not only to be able to use them, but also to understand how they work.

6.1. Spring In Action (5th edition)

This book is a classic and useful bestselling Spring study guide. Release 5 covers the milestone updates to Spring 5.0 and Spring Boot 2.0. The book is divided into five parts, a total of 19 chapters. Part 1 (Chapters 1-5) covers the basics of building Spring applications. Part 2 (Chapters 6 through 9) discusses how to integrate Spring applications with other applications. Part 3 (Chapters 10-12) explores Spring’s new support for reactive programming. Part 4 (chapters 13-15) breaks down the monolithic application model and introduces SpringCloud and microservices development. Part 5 (Chapters 16 through 19) discusses how to prepare an application for production and how to deploy it. This book is suitable for Java developers who are just starting to learn Spring Boot and the Spring framework, and for experienced Spring developers to learn the new features of Spring, especially for enterprise-level Java developers.

6.2. SpringBoot of actual combat

This book focuses on the development of Spring applications, comprehensively explaining how to use Spring Boot to improve efficiency and make the development and management of applications easier and more interesting. The author writes in a gracious and fluent manner, explaining the application of Spring Boot in various situations with a large number of examples, including startup dependency, Spring Boot CLI, Groovy, Grails, and Actuator. For the tedious content in the development and application of Spring Boot, the appendix is provided with a sorted table, which is easy for readers to refer to at a glance.

6.3. MyBatis Technical Insider

“MyBatis Technology Insider” based on MyBatis 3.4, for the MyBatis architecture design and implementation details are analyzed in detail, including the introduction of MyBatis source code involved in the basic knowledge, design mode and the author’s own thinking in practice. MyBatis Technology Insider consists of four chapters, starting with a quick introduction to MyBatis, the overall architecture and core concepts of MyBatis are analyzed step by step, and the basic support layer and functions and implementation details of each module in the core processing layer are deeply analyzed. In addition, it also analyzes the application scenario and implementation principle of MyBatis plug-in, introduces the example and principle of integrated development of MyBatis and Spring, as well as some practical tips and use methods of small tools.

MyBatis Technology Insider aims to provide help and guidance for readers to understand the design principle of MyBatis, read the source code of MyBatis, expand the function of MyBatis, and let readers have a deeper understanding of the operating principle and design concept of MyBatis. It is hoped that “MyBatis Technology Insider” can help readers comprehensively improve their own technical ability, so that readers can refer to the excellent design of MyBatis when designing business systems, and better apply MyBatis.

6.4. Spring Cloud micro-service practice

“Spring Cloud Micro-service Practice” introduces Spring Cloud’s solutions and basic components for several core elements of micro-service architecture in detail, starting from the popular concept of micro-service architecture. For the introduction of each component, “Spring Cloud Micro-service Field” mainly combines examples with source code to help readers better understand the use of these components and operating principles. At the same time, in the process of introduction, also includes the author encountered in the practice of some problems and solutions for readers in practice as a reference.

Spring Cloud Microservices Field is suitable for all Java developers, especially for teams that are choosing microservices architecture technology or implementing microservices architecture.

7. Design patterns

Design patterns give you the answer to how to make your code more elegant.

7.1. Big talk design patterns

Throughout the book, it is organized in the form of situational dialogues, using multiple short stories or programming examples to address GOF(the classic of Design Patterns:Elements of Reusable Object-oriented Software, EIich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, often referred to as the Gang of Four, are the authors of design Patterns: The Foundations of Reusable Object-oriented Software. 23 design patterns summarized by GoF. The book is divided into 29 chapters. Chapter 1, chapter 3, Chapter 4 and Chapter 5 focus on the meaning, benefits and several important design principles of object orientation. Chapter 2 and Chapters 6 through 28 detail 23 design patterns; Chapter 29 is a comprehensive summary of design patterns, and the appendix introduces basic object-oriented concepts through an example evolution for beginners. The feature of this book is to explain the process of the continuous reconstruction and evolution of the program through the small dishes and big bird interesting questions and answers, the learning threshold of the design pattern is lowered, so that beginners can more easily understand — why is design good? How did you come up with this design? In order to achieve not only give them “fish”, but also give them “fishing”. Guide readers to experience the evolution of design contained in the process of wisdom. This book is for beginners or developers who want to improve on object-oriented programming.

7.2. Head First Design Mode (Chinese version)

Head First Design Patterns (Chinese version) consists of 14 chapters, each of which introduces several design patterns, covering all 23 design patterns in the Group of Four edition. The preface introduces the usage of the book; The design patterns introduced in Chapters 1 through 11 are Strategy, Observer, Decorator, Abstract Factory, Factory Method, Singleton, Command, Adapter, Facade, TemplateMethod, Iterator, Composite, State, Proxy. The last three chapters are special. Chapter 12, we introduce how to combine two or more design patterns become the new design patterns (such as the famous MVC pattern), the author described it as the composite design pattern (this is the name of the author’s own, not the gang of four standard term), chapter 13, we introduce how to design patterns, and further study topics such as how to find the new design model, Chapter 14 takes a quick look at design patterns that have not been covered, including Bridge, Builder, Chain of Responsibility, Flyweight, Interpreter, Mediator, Memento, Prototype, Visitor. Chapter 1 introduces four basic concepts (abstraction, encapsulation, inheritance, and polymorphism), and chapters 1 through 9 introduce nine principles. Don’t underestimate these principles, because there are several principles behind every design pattern. Many times, there are design dilemmas, and we have to go back to the principle of trade-offs. It can be said that principles are our goal and design patterns are our approach.

7.3. Design patterns

This book summarizes the most valuable lessons learned in object-oriented design by selecting 23 design patterns from object-oriented design examples and presenting them in a concise and reusable form. The book categorizes a set of well-designed, articulate software design patterns that are particularly useful in practical Settings. This book is suitable for university computer science students, graduate students and related personnel reference.

The design patterns covered in the book do not describe new or unproven designs, only successful designs that have been used many times in different systems.

8. Computer networks

Computer network is also one of the indispensable internal functions

8.1. Computer Networks (7th Edition)

First published in 1989, the book has been revised in 1994, 1999, 2003, 2008 and 2013. In 2006, this book passed the evaluation of the Ministry of Education and was included in the national planning textbook of the 11th Five-Year Plan for general higher education. The fifth edition published in 2008 was awarded the title of excellent Textbook in 2009 by the Ministry of Education. The sixth edition, published in 2013, is a state-level planning textbook for undergraduate education during the 12th Five-Year Plan period.

8.2. Computer Networking (Original Book, 7th edition) : the top-down approach

This classic textbook on computer networking uses the author’s original top-down approach to the principles and protocols of computer networking. Since its first edition, it has been selected as a textbook by hundreds of universities and colleges and translated into 14 languages.

8.3. TCP/IP Volume 1: Protocol

TCP/IP Volume 1: Protocols is a complete and detailed guide to TCP/IP protocols. Describes the protocols that belong to each layer and how they operate on different operating systems. Author W.Richard Stevens used a program called tcpdump from Lawrence Berkeley Laboratories to capture different packets of transport between different operating systems and TCP/IP implementations. Studying the output of tcpdump can help you understand how different protocols work. TCP/IP Volume 1: Protocol is suitable for computer students to learn network teaching materials and teachers’ reference books. It is also suitable for technical people who study the network.

8.4. The illustration HTTP

This book is a comprehensive and systematic introduction to the HTTP protocol, the foundation of the Internet. The author by HTTP protocol development history, carefully analyzed the structure of HTTP protocol, listed many common communication scenarios and practical cases, and finally extended to Web security, the latest technology trends and other aspects. This book is characterized by a large number of vivid communication legends, which help readers to understand the interaction between the client and the server in HTTP communication. Through this book, you can quickly understand and master the basics of HTTP. Front-end engineers analyze captured packet data, and back-end engineers implement REST APIS and implement their own HTTP servers.

9. Computer composition and operating system

If you want to know how computers are made, if you want to know how operating systems work,

9.1. Computer Composition and Design (Original Book, 5th Edition)

The 5th edition of Computer Composition and Design: Hardware/Software Interfaces, a classic bestselling textbook on computer composition and design, is fully updated to focus on the revolutionary changes in computer architecture in the post-PC era — from single-core processors to multi-core microprocessors, from serial to parallel. With a special focus on mobile and cloud computing, the book explores and reveals this technological revolution through tablets, cloud architectures, and ARM (mobile computing devices) and x86 (cloud computing) architectures.

9.2. Birdman’s Linux home dish

This book is a well-known Linux introductory book “Bird brother Linux private dishes basic learning chapter” new edition, a comprehensive and detailed introduction to the Linux operating system.

The book is divided into five parts: The first part focuses on the basic knowledge of computer, Linux learning methods, how to plan and install Linux host and CentOS 7.x installation, login and help methods; The second part introduces Linux file system, file, directory and disk management. The third part introduces the text mode interface shell and the good helper shell script of the management system, and also introduces the use method of the text editor VI and VIm. The fourth part introduces Linux account management, disk quota, advanced file system management, scheduled task and process management which are very important for system security. The fifth part introduces the system administrator (root) management matters, such as understanding the system running status, system services, for the login file parsing, system backup and core management.

The book is rich and comprehensive, with detailed explanations of basic concepts. The introduction of various functions and commands is accompanied by a large number of examples and detailed parsing. This book is a beginner to learn Linux a good book.

Software design

Some of the great god summed up some experience and sample, in the daily work can refer to

10.1. Effective Java Chinese Version (2nd edition)

This book introduces 78 useful rules of thumb in Java programming that cover solutions to problems that most developers face every day. A comprehensive description of the techniques used by Java platform design experts reveals what do’s and don ‘ts do to produce clear, robust, and efficient code.

Each rule in this book is presented as a short, self-contained article, and is further illustrated with example code. The book is comprehensive in content, clear in structure and detailed in explanation. It can be used as a reference book for technicians.

10.2. Refactoring: Improve the design of existing code

Refactoring, in a nutshell, is methodically improving code without changing external behavior. It was the publication of the original version of this book many years ago that finally took refactoring out of the codebase and made it an integral part of the daily development routine of many ordinary programmers. The book has been translated into many languages, including Chinese, German, Russian and Japanese, and has become a bestseller around the world.

This book is a collection of valuable lessons learned by experts in the software development community over the years. Today, refactoring itself, the understanding of refactoring in the industry, and the support it receives from development tools are not what they were when this book was first published, but it is still worth re-reading and often re-reading.

10.3. Complete Code (Version 2)

The second edition of The Code Book is a new interpretation of Steve McConnell’s 11-year-old IT bestseller: IT is not a simple revision of the first edition, but a complete rewrite; Added a lot of up-to-date content. This is also a complete software build manual, covering all the details of the software build process. It discusses the various problems of software construction from the aspects of software quality and programming ideas, and discusses in detail the new technology that follows the trend, the view of a superior position, the general concept, and also contains rich and typical program examples. The techniques discussed in this book not only fill the gap between beginner and advanced programming techniques, but also provide programmers with a source of information about programming skills. This book is of great benefit to experienced programmers, technology leaders, self-taught programmers, and students with few programming skills. It can be argued that reading this book will help readers write better programs in less time and more easily, regardless of their background.

11. Common tools

It covers packaging, deployment, versioning, and the most common aspects of daily development.

11.1. Maven of actual combat

Are you tired of the day after day of manual building? Do you dread having a different build system from project to project? Maven, the project management tool that is the de facto standard in the Java community, can take you out of the manual labor and help you regulate your entire organization’s build system. Countless open source projects use it to build projects and facilitate team communication. Every day, tens of thousands of developers visit the central repository to get the dependencies they need.

The book is comprehensive and systematic, including the principles, use methods and advanced applications of Maven. Emphasis on actual combat is another feature of this book, not only in each knowledge point are supplemented by a large number of small cases, and there is a comprehensive case throughout the book. If you want to use Maven, or are using Maven, this book will give you an excellent guide.

11.2. authoritative Guide to Git

“The Authoritative Guide to Git” is a masterpiece in Git field, an encyclopedia about Git, which is far beyond similar works in breadth, depth and actual practice. The author is one of the top version control experts and consultants in China. The book has been highly recognized and recommended by several experts such as Junio C Hamano, the official maintainer of Git, and Mr. Robbin, the founder of ITeye, and its authority is beyond doubt.

11.3. Take a closer look at Tomcat

This book takes an in-depth look at each of the components in Tomcat 4 and Tomcat 5 and reveals their inner workings. Through this book, you will be able to develop your own Tomcat components or extend existing ones. Tomcat is one of the more popular Web servers. As an open source and small lightweight application server, Tomcat is easy to use and deploy, but Tomcat itself is a very complex system with many functional modules. These functional modules constitute the core structure of Tomcat. Starting with the most basic HTTP requests and going all the way to managing applications in Tomcat using JMX technology, the book takes a step-by-step look at the basic functional modules of Tomcat, along with sample code, to enable readers to implement their own Web servers.

11.4. An In-depth understanding of Nginx (version 2)

This book is dedicated to explaining the knowledge necessary to develop the Nginx module. After the first edition was released, it was well received by the readers. However, due to the various functions and powerful performance of Ng and NX, the basic skills that must be understood are also very complicated. However, the first edition was written in a hurry and several advanced skills were missing. Therefore, the second edition has been improved on this basis.

In this book, we introduce the basic usage and configuration rules of the official Nginx module to help readers understand the usage of the general Nginx module. Then we focus on the development of HTTP module (including HTTP filtering module) to get a customized Nginx, including the development of a complex module to know all kinds of knowledge. The implementation details of memory pool and TCP protocol are introduced in detail. Then, the Nginx framework code is integrated to analyze the design concept and skills of Nginx architecture, in addition, how to support HTTP variables in modules, and related content such as slab shared memory are added. I believe that through improvement, it will further help readers to develop a better Nginx module with rich functions and performance-flow.

Docker — Containers and container clouds

Based on Docker 1.10 and Kubernetes 1.2, this book comprehensively updated the first edition. From the perspective of practitioners, focusing on Docker and Kubernetes, this book follows the ideas from “basic usage introduction” to “core principle interpretation” to “advanced practical skills”. This book explains the current mainstream container and container cloud technology, and helps readers solve problems and inspire new thinking by using Docker container and container cloud in actual scenes. The book consists of two parts. The first part is an in-depth interpretation of Docker container technology, including Docker architecture and design, core source code interpretation and advanced practical skills. The second part summarizes and compares three mainstream container cloud projects based on Docker, including container cloud focusing on Docker container layout and deployment, container cloud focusing on application support and Kubernetes all container, and then explains the design and implementation of Kubernetes core source code in detail. Finally, Kubernetes best practices in several typical scenarios are introduced.

12. Common middleware

With the popularity of distribution, middleware is also essential

12.1. Redis design and implementation

It systematically and comprehensively describes the internal operation mechanism of Redis. Rich graphics, clear description, and give a lot of reference information, NoSQL database developers desk essential. Includes most Redis single-machine features, as well as all multi-machine features.

12.2. RabbitMQ Field Guide

Starting from the concept of messaging middleware and the history of RabbitMQ, RabbitMQ Combat Guide mainly describes RabbitMQ installation, use, configuration, management, operation and maintenance, principle, and extension. RabbitMQ Field Guide can be divided into three parts: basic, advanced and advanced. The basics of RabbitMQ will introduce the basic installation and use of RabbitMQ, so that the casual reader can get into RabbitMQ in the most comfortable way. The basic concepts of RabbitMQ are introduced, including producers, consumers, switches, queues, bindings, etc. It then describes in the Java language how clients establish (close) connections to RabbitMQ, declare (delete) switches, queues, bindings, and how to send and consume messages. RabbitMQ includes TTL, dead letter, delay queue, priority queue, RPC, message persistence, production and consumer confirmation. The RabbitMQ Combat Guide provides help documents and solutions to problems in RabbitMQ management, configuration, and operation and maintenance. The advanced RabbitMQ chapter focuses on RabbitMQ’s storage mechanism, flow control and mirroring queues, as well as the details of RabbitMQ implementation. The RabbitMQ Field Guide also deals with the concept of network partitioning, which can be called the Devil’s Guide, but you need to know everything to understand it. The RabbitMQ Field Guide concludes with a list of RabbitMQ extensions and appendices for your reference.

12.3. The Definitive Guide to Kafka

Each application generates data, including log messages, metrics, user activity records, response messages, and so on. How the data is moved has become almost as important as the data itself. If you are an architect, developer, or product engineer who is also new to Apache Kafka, this practical guide will help you become an expert at handling real-time data on streaming platforms.

12.4. Inside RocketMQ Technology

This book is easy to read, from shallow to deep, suitable for developers and operations personnel to read

12.5. Understand ElasticSearch in depth

ElasticSearch provides a systematic and in-depth explanation of the tools, methods, principles and practices involved in ElasticSearch application. Distributed indexing, system monitoring, performance optimization, user experience improvement, Java API application, and custom plug-in development provide effective guidance for engineers and architects to quickly improve ElasticSearch.

13. The interview

The perfect choice for interview revision or last-minute cramming

13.1. Programmer code interview guide: IT enterprise algorithm and data structure problem optimal solution

This is a programmer interview bible! In the book, the optimal solution of all kinds of questions in IT famous enterprise code interview is summarized, and the relevant code implementation is provided. In view of the current programmer interview lack of authoritative questions summary of this pain point, this book selects nearly 200 real classic code interview questions, to help programmers prepare for the interview to do foolproof. After “brush” the book, you are “question king”! __eol__ This book uses questions + solutions to organize the content, and the interview questions similar types or similar solutions to the topic as far as possible together, readers in the study of the book is easy to see the connection between the interview questions solution, so that the learning of knowledge to avoid fragmentation. In the book, all the interview questions are divided into four grades, from difficult to easy, so that readers can choose the “brush” questions. All the interview questions included in this book have given the optimal solution explanation and code implementation, and provides some common solution and optimal solution of the running time comparison, so that readers really feel the charm of the optimal solution! __eol__ The topics in this book are comprehensive and classic. More importantly, the book contains a large number of exclusive topics and optimal solution analysis, which are derived from the author’s in-depth thinking over the years. Farmers, are you ready to stand out in the interview of a famous IT company and become famous? This book is the magic weapon you should have. Of course, the book is also of obvious value to programmers who need to improve their skills in areas such as algorithms and data structures.

13.2. Offer: Typical programming questions (2nd edition)

“Sword Finger Offer: Famous Enterprise interviewers Highlight typical programming questions (the second edition)” analyzes 80 typical programming interview questions, systematically sorting out the basic knowledge, code quality, problem solving ideas, optimization efficiency and comprehensive ability of the five interview points. “Sword Finger Offer: Typical Programming questions by Famous Enterprise Interviewers (2nd edition)” is divided into 7 chapters, mainly including the interview process, discuss the questions that need to pay attention to each link of the interview; The basic knowledge of interview is summarized from three aspects of programming language, data structure and algorithm. High quality code, discusses the three factors affecting code quality (standardization, integrity and robustness), emphasizes that high quality code can not only complete basic functions, but also consider special cases and deal with illegal input rationally; To solve the interview problem, summarize the effective thinking mode of programming interview to solve difficult problems, such as in the interview encountered complex problems, candidates can use the drawing, example and decomposition of these three methods to simplify the complex, first form a clear idea, and then start programming; Optimize time and space efficiency, readers will learn to optimize time efficiency and space for time common algorithms, in order to find the optimal solution in the interview; In the interview, it summarizes how the candidates fully demonstrate their learning and communication skills, and discusses how to develop knowledge transfer, abstract modeling and divergent thinking skills through specific interview questions. Two interview examples, summarize which interview behaviors are bad and which behaviors are expected by interviewers.

14. Other

This topic is primarily an introduction to important topics that will help you understand computers and the Java Web in general

14.1. Coding: the language hidden behind computer hardware and software

A book about how computers work. But don’t assume that something is obscure just because it says “how it works.” The author uses rich imagination and clear pen and ink to explain the seemingly complicated theory easily, you will not feel boring and stiff. More importantly, you will gain a deeper understanding of how computers work. This understanding is not at the level of abstraction, but at a level of depth that is no less profound than that of “electrical engineers” and “programmers”.

Whether you are a computer whiz or just a beginner who is in awe of this amazing machine, you may as well read this book and read the classics of the masters.

14.2. An In-depth understanding of Computer Systems (Original Book, 2nd Edition)

Douban programming books ranked first, suitable for all people engaged in computer related industries, the right to recommend.

From a programmer’s perspective, this book details the essential concepts of computer systems and shows how these concepts can really affect the correctness, performance, and usefulness of applications. The book consists of 12 chapters, including information representation and processing, machine-level representation of programs, processor architecture, program performance optimization, memory hierarchy, linking, exception control flow, virtual memory, system-level I/O, network programming, concurrent programming, etc. The book provides plenty of examples and exercises, along with some answers, to help readers deepen their understanding of the concepts and knowledge presented in the text.

The greatest advantage of this book is to describe the implementation details of computer systems for programmers, helping them to construct a hierarchical computer system in their minds, from the lowest level of data representation in memory to the composition of pipeline instructions, to virtual memory, to the compilation system, to the dynamic loading library, and finally to the user application. By mastering how programs are mapped to the system and how they are executed, readers can better understand why programs behave the way they do and how inefficiencies are caused.

This book is suitable for programmers who want to write faster and more reliable programs. It is also suitable for undergraduate and graduate students in computer science and related fields in colleges and universities.

14.3. An in-depth look at Java Web Technology (revised edition)

In-depth Analysis of Java Web Technology Inside (Revised edition) mainly focuses on Java Web related technologies from three aspects of comprehensive and in-depth exposition. First, front-end knowledge is introduced, that is, some basic knowledge involved in JavaWeb development, including Web request process, HTTP, DNS technology and CDN technology. Secondly, it deeply introduces Java technology, including I/O technology, Chinese coding problems, Javac compilation principle, class file structure parsing, ClassLoader working mechanism and MEMORY management of JVM. Finally, the Java server technology is introduced, including Servlet, Session and Cookie, Tomcat and Jetty server, Spring container, iBatis framework and Velocity framework, and some optimization technologies of the server.