Why is the JVM so important in Java?
First of all, you should know that to run a Java application, we must first install the JDK or JRE package. This is because Java applications become bytecode after being compiled, and then run in JVM through bytecode, and JVM is the core component of JRE. JVM not only undertakes the analysis (JIT compiler) and execution (Runtime) of Java bytecode, but also has a built-in automatic memory allocation management mechanism. This mechanism can greatly reduce the risk of memory leakage and memory overflow that may be caused by the manual allocation and recovery mechanism, so that Java developers do not need to pay attention to the memory allocation and recovery of each object, and thus focus more on the business itself.
The optimization of the code execution by the JVM can be divided into runtime optimization and just-in-time compiler (JIT) optimization. Run-time optimization is mainly to explain some common mechanisms for execution and dynamic compilation, such as lock mechanisms (such as skew lock), memory allocation mechanisms (such as TLAB), etc. In addition, there are some dedicated to optimize the execution efficiency of interpretation, such as template interpreter, inline cache (inline cache, used to optimize the dynamic binding of virtual method calls).
JVM structure
The JVM is so important, how can we get by? Some time ago I found a JVM devil document compiled by Ali architects, which is really a leverage! ! !
See content
Mainly from the four parts step by step, from the shallower to the deeper!
Excellent Java developer
01 What is Java
02 Programming language
03 Computer [hardware] can understand language
04 So JVM what is it?
05 JDK JRE JVM
What should JVM learn
01 source code to class file
02 class file to virtual machine (class loading mechanism)
03 Run-Time Data Areas
04 JVM memory model
05 Garbage Collect
A worker must first sharpen his tools if he wants to do well
01 JVM parameters
02 Common commands
03 Common tools
04 Execution engine
05 Recognize JVM
Performance optimization
01 Memory
02 GC
03 High CPU usage
04 JVM performance optimization guide
05 Frequently asked questions
Attached information:
The JVM compiled by the Alibaba architecture mentioned above can be shared for free from entry to enchanted notes, distributed transaction documentation, common technologies and case studies of distributed systems, and springboot, etc., which can be shared for free. Click on the jump to download
or add Little Assistant VX: