Zhou Zhiming has written this book very thoroughly. I happened to be reading it recently. I think the details related to the virtual machine itself are a relatively in-depth content, which requires calmness to read and think about. Although it is really slow to watch like this, it is very rewarding. You really need to calm down and don’t be impatient! Hope it helps you
To be honest, you'd better have one to two years of experience with jvm stuff. Reading may be very rewarding, and it may be easier to understand. This kind of thing involving the underlying principles is actually not particularly helpful for you to write code, but it can only help you understand some basics. And this book is mainly suitable for JVM tuning work. At least at your current stage, JVM itself is enough to meet your needs without tuning.
Books about JVM include "In-depth JVM Virtual Machine" and "JVM Virtual Machine Specification". I have the former. The author also tries to use some easy-to-understand examples to explain the inner principles. Even so, it is still difficult to understand. difficult. If you want to improve your ability to write code, it is better to read more actual code and type more code. Only when you accumulate a certain amount of code and look at the bottom layer, you will suddenly become enlightened.
This is like using an ax. First you need to know how to use an ax and what it is used for. When you become proficient in using it, you will have an overall understanding of the structure of the ax and why it is designed this way. What are the benefits of this design? Thorough understanding. Then choose to make an ax handle!
No matter which book you read, you must be patient and read it, and you will naturally gain something. I think I gave up after reading "Introduction to Algorithms" after opening it for two seconds, but I can continue reading it now.
For virtual machines, it is recommended to read some blogs first and have a rough cognitive framework in mind. For books at this stage, I recommend Chapter 3 of "Distributed Java Application Fundamentals and Practice".
After that, I recommend "In-depth Understanding of Java Virtual Machine", focusing on Chapters 2, 3, 4, and 7. You can continue to read Chapters 8, 12, and 13 after that. You can read it in conjunction with "The Authoritative Guide to Java Performance".
To be honest, understanding the JVM does not greatly improve writing Java code. Generally, a simple optimizing compiler has already done it for you. If you really want to do some major optimization, it is usually based on parameter tuning of the scene.
If you are interested in JVM, please recommend two of my blogs here:
A brief analysis of JVM memory management
Overview of JVM architecture and working methods
Then what I want to say is that Effective Java is suitable for programmers who have been coding for more than a year. It doesn’t make much sense for novices to read it. And it basically has nothing to do with the JVM.
Zhou Zhiming has written this book very thoroughly. I happened to be reading it recently. I think the details related to the virtual machine itself are a relatively in-depth content, which requires calmness to read and think about. Although it is really slow to watch like this, it is very rewarding. You really need to calm down and don’t be impatient! Hope it helps you
To be honest, you'd better have one to two years of experience with jvm stuff. Reading may be very rewarding, and it may be easier to understand. This kind of thing involving the underlying principles is actually not particularly helpful for you to write code, but it can only help you understand some basics. And this book is mainly suitable for JVM tuning work. At least at your current stage, JVM itself is enough to meet your needs without tuning.
Books about JVM include "In-depth JVM Virtual Machine" and "JVM Virtual Machine Specification". I have the former. The author also tries to use some easy-to-understand examples to explain the inner principles. Even so, it is still difficult to understand. difficult. If you want to improve your ability to write code, it is better to read more actual code and type more code. Only when you accumulate a certain amount of code and look at the bottom layer, you will suddenly become enlightened.
This is like using an ax. First you need to know how to use an ax and what it is used for. When you become proficient in using it, you will have an overall understanding of the structure of the ax and why it is designed this way. What are the benefits of this design? Thorough understanding. Then choose to make an ax handle!
No matter which book you read, you must be patient and read it, and you will naturally gain something. I think I gave up after reading "Introduction to Algorithms" after opening it for two seconds, but I can continue reading it now.
For virtual machines, it is recommended to read some blogs first and have a rough cognitive framework in mind. For books at this stage, I recommend Chapter 3 of "Distributed Java Application Fundamentals and Practice".
After that, I recommend "In-depth Understanding of Java Virtual Machine", focusing on Chapters 2, 3, 4, and 7. You can continue to read Chapters 8, 12, and 13 after that. You can read it in conjunction with "The Authoritative Guide to Java Performance".
To be honest, understanding the JVM does not greatly improve writing Java code. Generally, a simple optimizing compiler has already done it for you. If you really want to do some major optimization, it is usually based on parameter tuning of the scene.
If you are interested in JVM, please recommend two of my blogs here:
A brief analysis of JVM memory management
Overview of JVM architecture and working methods
Then what I want to say is that Effective Java is suitable for programmers who have been coding for more than a year. It doesn’t make much sense for novices to read it. And it basically has nothing to do with the JVM.
<head first java> The head first series of books are very good, and the <JDK Study Notes> are also good