#The best time to plant a tree is ten years ago, followed by now
Many programmers can't find a direction in learning at first, but I think after a period of novice period, most of these problems will become less obvious, and the direction of work will gradually become clear.
But it didn't take long for the information that I could understand began to exceed the ability to learn every day, such as buying books that I didn't read, collecting posts that I didn't read, and articles that I didn't follow after I marked them, not to mention the accumulation of more and more articles. Every day, I am faced with various technology sharing or new things in Weibo.
Most people have limited time for learning every day, and how to improve learning efficiency at this stage has become the focus of the solution.
Talking about your experience in improving learning efficiency is actually very simple: systematic learning.
I used to like to read some blogs or some articles that "look" relatively easy to understand. I would mark any technical article I swiped on Weibo and WeChat every day, and I could read it in a few minutes. But after a period of time, although I read a lot of things, I still have a state of spinning around in place, and I have not felt any actual improvement.
In the end, I couldn't help it, and I nibbled it hard with the thick book, and suddenly I felt a sense of enlightenment: what I learned when I was reading is a complete knowledge network, and each knowledge point is related to and different from other content. This kind of comprehensive understanding is much higher than an independent article.
After repeating the painful learning-combing process several times, it is often more effective to read some independent articles or materials, because the corresponding knowledge can be found in the system, and sometimes even a page of a book only needs to read a sentence If you break the window paper, you can master new knowledge. Many programmers can't find a direction in learning at first, but I think after a period of novice period, most of these problems will become less obvious, and the direction of work will gradually become clear.
But it didn't take long for the information that I could understand began to exceed the ability to learn every day, such as buying books that I didn't read, collecting posts that I didn't read, and articles that I didn't follow after I marked them, not to mention the accumulation of more and more articles. Every day, I am faced with various technology sharing or new things in Weibo.
Most people have limited time for learning every day, and how to improve learning efficiency at this stage has become the focus of the solution.
Talking about your experience in improving learning efficiency is actually very simple: systematic learning.
I used to like to read some blogs or some articles that "look" relatively easy to understand. I would mark any technical article I swiped on Weibo and WeChat every day, and I could read it in a few minutes. But after a period of time, although I read a lot of things, I still have a state of spinning around in place, and I have not felt any actual improvement.
In the end, I couldn't help it, and I nibbled it hard with the thick book, and suddenly I felt a sense of enlightenment: what I learned when I was reading is a complete knowledge network, and each knowledge point is related to and different from other content. This kind of comprehensive understanding is not as high as an independent article.
After repeating the painful learning-combing process several times, it is often more effective to read some independent articles or materials, because the corresponding knowledge can be found in the system, and sometimes even a page of a book only needs to read a sentence If you break through that layer of window paper, you can master new knowledge. So I suggest that you read articles and blogs, not just one article. The best results are achieved through transparent and continuous learning.
For an online system, it often happens that:
- The system suddenly freezes, cannot be accessed, and even appears OOM.
- The server's CPU load suddenly increased.
- Directly use the default JVM parameters to go online, and finally find that the system is down.
- Want to adjust JVM parameters, but can't start. . . . .
For these problems, it is caused by not knowing enough about the JVM.
However, the principle of garbage collection is too abstract, and the tuning of garbage collection relies too much on experience. Clarifying the relationship between garbage collection implementation and hardware is the main challenge when learning garbage collection. In order to help friends learn and use JVM better, today I will share with you a **"In-depth exploration of the challenges and optimization of JVM garbage collection and ARM server garbage collection"**, the following will show you the content, interested friends can see
This document is divided into 4 parts:
- The first part introduces the basics of virtual machine execution and the related knowledge of garbage collection.
- The second part introduces the six garbage collection algorithms implemented in the JVM.
- The third part introduces the parameters provided by the JVM to control the garbage collection algorithm.
- The fourth part takes the Kunpeng 920 as an example to introduce the ARM server and how to implement GC under the ARM server to give full play to the hardware performance.
Directory overview
Content overview
Chapter 1 Introduction to Java Code Execution
Chapter 2 Basics of Garbage Collection in the JVM
Chapter 3 Serial Recycling
Chapter 4 Concurrent Mark Sweep Collection
Chapter 5 Parallel Collection
Chapter 6 Garbage First
Chapter 7 Shenandoah
Chapter 8 ZGC
Chapter 9 GC General Parameters
Chapter 10 Parallel GC Parameters
Chapter 11 CMS Parameters
Chapter 12 G1 Parameters
Chapter 13 Shenandoah Parameters
Chapter 14 ZGC Parameters
Chapter 15. Tarzan Server Overview
Chapter 16 GC Challenges and Optimizations on the AArch64 Platform