JVM
In the development phase we will not use, but to the production environment, it will become very important.
Why do you say?
On the one hand, because our production environment is more complex. Various possible problems will arise, such as: bad hard drive, network broken, high CPU utilization issues such as the level is not poor.
On the other hand, there is a problem in our production environment, not a good positioning. Not just because of our production environment to restart, not just for our production environment
of code to be modified, not just for our production environment to add logs. So the production environment monitoring is necessary.
This time we will not go to a hardware-based monitoring explain, mainly on the performance of Java applications do monitoring and tuning.
I believe that many small partners, before more or less have some understanding, but said there was no system of principles learned and practiced not really get started.
This time we took small partners together to learn JVM
performance tuning.
What interview questions will encounter?
- Production environment has a memory leak how to deal with?
- Production environment, how much memory assigned to the appropriate server?
- How to tune the performance of the garbage collector?
- Production soared high CPU load how to deal with?
- Production environment should apply to the number of threads allocated appropriate?
- How to determine whether the request log without a line of code is executed?
- How to view real-time without log into the participation of a method return values?
- JVM bytecode is what?
- Body of the loop stitching + Why do string inefficient?
- + String splicing necessarily StringBuilder.append it?
- String constant pool is the Editor?
- i ++ and ++ i in the end what kind of wording higher efficiency?
By learning the JVM what you can harvest it?
- Familiar with a variety of monitoring and debugging tools
- Calmly deal with a variety of debugging and performance issues encountered in a production environment
- Familiar JVM bytecode instructions
- JVM-depth understanding of automatic memory recovery mechanism, learn GC tuning
- Calmly interview questions about performance tuning and debugging
- Endeavor to engineer a very important step
For the crowd
1. If you are not familiar tune Java application monitoring
2. If you are interested in monitoring the application tuning Java
3. If you want a new job interview, Senior Engineer
What will learn?
- Based on monitoring JDK command-line tool
- Based on the visual monitoring JVisualVM
- Based on monitoring of debugging Btrace
- Performance monitoring and tuning Tomcat
- Performance monitoring and tuning Nginx
- JVM GC tuning layer
- Java code tuning layer
Based on monitoring JDK command-line tool
- JVM arguments type
- View runtime JVM parameters
- View JVM statistics
- jmap + MAT combat memory overflow (must learn)
- jstack combat the cycle of death and deadlocks (high CPU, you can see very clearly)
Based on the visual monitoring JVisualVM
- Monitor local Java process
- Remote monitoring Java process
Based on monitoring of debugging Btrace
- Btrace installation Getting Started
- Btrace uses detailed
It involves a lot of advanced knowledge
Performance monitoring and tuning Tomcat
- Tomcat remote debug
- Tomcat-manager monitor Tomcat
- psi-probe to monitor Tomcat
- Tomcat Tuning
Performance monitoring and tuning Nginx
- ngx_http_stub_status monitor connection information
- ngxtop monitoring request information
- nginx-rrd graphical monitoring
- Tuning nginx
The nginx does not describe in detail, explain some of the some of the main tuning method of nginx.
JVM GC tuning layer
- JVM memory structure
- Garbage collection algorithm
- The garbage collector
- GC log format and visual log analysis tools
- The actual tuning GC Tomcat
Based on JDK1.8
Java code tuning layer
- JVM and the bytecode instructions javap
- and i ++ ++ i, string splicing principle +
- Common code optimization
- not only these...
javap
It can be printed java
in byte code, understand java
the implementation process.
I believe that many small partners are more or less understood the above knowledge, but not every small partners can understand. This took everyone to learn together!
recommend
-
[Java web series interview questions] common web attacks What?
-
[Java Network Security Series face questions] difference between GET and POST Where?
The end of the sentence
Articles included to
Github: https://github.com/CoderMerlin/coder-programming
Gitee: https://gitee.com/573059382/coder-programming
welcome attention and star ~