I haven’t met the leader of P8 when I joined the company. After March, he left with a 769-page virtual machine notes.

Java is currently the most widely used software development technology with the most users. The Java technology system is mainly composed of a virtual machine that supports the running of Java programs, a Java class library that provides interface support for various development fields, a Java programming language, and many third parties. Java framework (such as Spring, MyBatis, etc.) constitutes. In China, technical materials and books related to Java class library API, Java language grammar and third-party frameworks are very rich. In comparison, the materials related to Java virtual machine are extremely poor.

This situation is largely caused by an important advantage of Java development technology itself: the complexity of the underlying technology and the difference between the machine and the operating system are hidden at the virtual machine level. The physical machines that run the programs are very different, and the Java virtual machine establishes a unified operating platform on the vastly different physical machines, and realizes that the programs compiled on any Java virtual machine can run normally on any other Java virtual machine. . This great advantage makes the development of Java applications more efficient and faster than the development of traditional C/C + + applications. Programmers can focus on specific business logic instead of ensuring the compatibility of physical hardware. Under normal circumstances, as long as a programmer understands the necessary Java class library API, Java syntax, and learns an appropriate third-party development framework, it has basically met the needs of daily development. The virtual machine completes the compatibility of the hardware platform and the management of resources such as memory without the user's awareness. Therefore, understanding the operation of the virtual machine is not necessary for ordinary developers, or the first knowledge to learn.

However, everything has two sides. With the continuous development of Java technology, it has been used in more and more fields. Some of these fields, such as the Internet, energy, finance, communications, etc., have extremely high requirements for program performance, stability, and scalability. A program is likely to be completely normal when used by 10 people at the same time, but it will be slow, deadlock or even crash when used by 10,000 people at the same time. Undoubtedly, to meet the needs of 10,000 people at the same time, higher performance physical hardware is required. However, in most cases, improving hardware performance cannot increase the program's operating performance and concurrency in proportion, and it may even have no effect on the program's operating status. Any improvement. There is a reason for the Java virtual machine: in order to achieve the purpose of "all hardware provides a consistent virtual platform", some hardware-related performance characteristics are sacrificed. More importantly, there are human reasons: if developers do not understand the operating principles of many technical features of virtual machines, they cannot write the most suitable code for virtual machine operation and self-optimization.

In fact, the current commercial high-performance Java virtual machines provide quite a few optimization parameters and adjustment methods to meet the performance and stability requirements of applications in the actual production environment. If it’s just for introductory learning and let the program work on your own machine, then these features can be said to be dispensable; but if used for production development, especially large-scale, enterprise-level production development, it is urgent At least some of the developers are required to have a clear understanding of the characteristics and adjustment methods of the virtual machine. Therefore, in the Java development system, the demand for roles such as architects, system tuning engineers, and senior programmers has always been very large. Learning the principles of various automatic operation features in the virtual machine has also become a lesson that Java programmers will inevitably come into contact with on their way of growth. Through this book, readers can learn the operating principles of virtual machines in a relatively easy way.

I haven’t met the leader of P8 when I joined the company. After March, he left with a 769-page virtual machine notes.

 

The book is divided into five parts: approaching Java, automatic memory management, virtual machine execution subsystem, program compilation and code optimization, and efficient concurrency. The various parts are basically independent of each other, there is no necessary pre- and post-dependency. Readers can start reading from any topic of interest, but there is a sequence of chapters in each part.

Due to the limitation of the length of the article, I cannot show you all the content, only the catalog and some fragments. The full version has been prepared for everyone. You need to get friends for learning, help forward it, and after paying attention, "Add me VX assistant", You can get the document download method.

The first part approaches Java

I haven’t met the leader of P8 when I joined the company. After March, he left with a 769-page virtual machine notes.

 

Chapter 1 Approaching Java

I haven’t met the leader of P8 when I joined the company. After March, he left with a 769-page virtual machine notes.

 

The second part of automatic memory management

I haven’t met the leader of P8 when I joined the company. After March, he left with a 769-page virtual machine notes.

 

Chapter 2 Java memory area and memory overflow exception

I haven’t met the leader of P8 when I joined the company. After March, he left with a 769-page virtual machine notes.

 

Chapter 3 Garbage Collector and Memory Allocation Strategy

I haven’t met the leader of P8 when I joined the company. After March, he left with a 769-page virtual machine notes.

 

Chapter 4 Virtual Machine Performance Monitoring and Fault Handling Tools

I haven’t met the leader of P8 when I joined the company. After March, he left with a 769-page virtual machine notes.

 

Chapter 5 Tuning Case Analysis and Actual Combat

I haven’t met the leader of P8 when I joined the company. After March, he left with a 769-page virtual machine notes.

 

The third part of the virtual machine execution subsystem

I haven’t met the leader of P8 when I joined the company. After March, he left with a 769-page virtual machine notes.

 

Chapter 6 Class File Structure

I haven’t met the leader of P8 when I joined the company. After March, he left with a 769-page virtual machine notes.

 

Chapter 7 Virtual Machine Class Loading Mechanism

I haven’t met the leader of P8 when I joined the company. After March, he left with a 769-page virtual machine notes.

 

Chapter 8 Virtual Machine Bytecode Execution Engine

I haven’t met the leader of P8 when I joined the company. After March, he left with a 769-page virtual machine notes.

 

Chapter 9 Class Loading and Execution Subsystem Cases and Actual Combat

I haven’t met the leader of P8 when I joined the company. After March, he left with a 769-page virtual machine notes.

 

The fourth part program compilation and code optimization

I haven’t met the leader of P8 when I joined the company. After March, he left with a 769-page virtual machine notes.

 

Chapter 10 Front End Compilation and Optimization

I haven’t met the leader of P8 when I joined the company. After March, he left with a 769-page virtual machine notes.

 

Chapter 11 Backend Compilation and Optimization

I haven’t met the leader of P8 when I joined the company. After March, he left with a 769-page virtual machine notes.

 

Part 5 Efficient Well Development

I haven’t met the leader of P8 when I joined the company. After March, he left with a 769-page virtual machine notes.

 

Chapter 12 Java Memory Model and Threads

I haven’t met the leader of P8 when I joined the company. After March, he left with a 769-page virtual machine notes.

 

Chapter 13 Thread Safety and Lock Optimization

I haven’t met the leader of P8 when I joined the company. After March, he left with a 769-page virtual machine notes.

 

Readers of this book

(1) The Java virtual machine for middle and senior developers using Java technology system is the necessary knowledge for middle and senior developers to practice. It has a higher learning threshold. This book can be used as a teaching material for learning virtual machines.

(2) System Tuner

The system tuner is a profession that has only emerged in recent years and quickly became popular. The large number of cases, codes and tuning practices in this book will have a direct reference to the daily work of the system tuner.

(3) System architect

Ensuring the performance, concurrency and scalability of the system is one of the main responsibilities of the system architect, and this part is inseparable from the operation of the virtual machine. This book can be used as a reference for them to develop the underlying framework of the application system.

To receive the 769 pages of virtual machine notes summarized by Ali P8 for 3 months in the article, you only need:

——After you like + bookmark the article , add my Vx assistant to get it 100% free!

 

Guess you like

Origin blog.csdn.net/a159357445566/article/details/112393802