Depth understanding of java virtual machine early papers (a): Why learn JVM? Depth understanding of java virtual machine early papers (a): Why learn JVM?

Excerpt: https://www.cnblogs.com/yichunguo/p/11849922.html

Depth understanding of java virtual machine early papers (a): Why learn JVM?

 

Preface
have been thinking about writing this column JVM, write directly to the knowledge of dry goods, but still think it is necessary to talk about why learning begins JVM, so allow some learners bottom was a little feeling better ...

One reason: the interview

Have to say, as the Internet increasing the threshold, JVM is the knowledge of senior programmers phase will ask a topic! Now as before, the previous point would htmlhave Haozhaogongzuo, now as more and more people learning software, and college students are graduating each year (and the older and rarely change jobs) people will only increase , just pull a hair lush uncle in the street are probably engaged in the software, now has an evil wind, no matter what companies are slowly like big companies like Ali close, do not ask interview point jvm, concurrency, distributed embarrassed (Although the company may not be used, although it may only CURD), always ask that these seem to force grid high point, for whatever reason in a lot of companies really are like this!

So I have to believe a lot of people came into contact with a Java virtual machine just because the interview need to use, so bite the bullet and go to school. Why do so many people to study this issue virtual machine, are consistent answer is: because the interview.

In fact, learning not only JVM that interview, but in a deeper understanding of the language Java, as well as lay the foundation for future online troubleshooting problems. In fact, plainly, you have to start good (pass) good (too) learn (surface) java (test) ....

However, the reality is this, after all, comes from real life! It is also because JVM to live and study at the same time of the interview also laid the foundation for a better learning java!

Two reasons: For a deeper understanding of the language Java

Learning Java virtual machines in-depth understanding of the Java language. Just work for a year or two friends, each API did not use cooked, naturally not go in-depth study of the various details of Java. If you are in this life only willing to be a mediocre agricultural Java code, then you have no need to learn JVM-related knowledge.

But for the work of the next three friends, a lot of time to solve a problem you have to go deep into the bytecode level analysis, you can get accurate conclusions, but that is part of the bytecode virtual machine.

This in-depth understanding of the Java language example:

1, we used Boolean Boolean, we all know that it has two values, true and false. But you know that in fact at runtime, Java Virtual Machine is no Boolean Boolean this type. Integer Boolean type used in the virtual machine 1 and 0 represent.

2, we all know that the class path and class name uniquely identifies a class, but in fact not the case. Or, as we say in conclusion only on the surface. If you go deep into the virtual machine level, the class loader class path, the only decision before the class name of a class. That is, if two different class loaders load them with a class class files, and that these two classes loaded class is different.

These two examples, if you do not understand some of the basics of the virtual machine, then it is hard to understand some of the details in depth.

If nothing else, it is light and chat with colleagues, old colleagues when it comes to the new generation of what's to ask you a GC logs for, you do not have JVM basis, thieves embarrassed, at that time you will only call me C cow B ....

Reason Three: Learning virtual machine is a better solution for future online troubleshooting

Virtual machine learning is the foundation for online troubleshooting. We know that we deploy a Java application on the online machine, certainly from time to time problems. Removal of problems of their own networks, systems, problems often Java applications, the Java virtual machine memory is a problem. Either out of memory, and either GC frequent cause slow response and so on.

How then to solve these problems? First, you must learn to read the log it. Then you have to be able to understand GC log, which is part of the Java virtual machine content. GC logs you read, then you have to understand what the young generation, old time, permanent generations, metadata area, etc., these are the Java virtual machine memory model. Do you understand the Java virtual machine memory model, then you have to know how the Java virtual machine garbage collection, the garbage collection algorithm they use is like, what their advantages and disadvantages. Then there is the characteristics of the various garbage collector.

You see, all these things are associated. You want to solve the Java application crashes online, then you must learn to GC logs. GC logs to understand, we must learn the Java virtual machine memory model. To understand the Java virtual machine memory model, you must learn to garbage collection and so on.

The benefits of learning the JVM

Learning a JVM for Java programmers about the benefits can be summarized under six:

1, the earliest can understand why Java is known as an interpreted language, but then why has been interpreted and compiled all known coexistence of language (understanding the JVM interpreter and time compiler can answer this question);
2, you can understand dynamic compilation differs from static compilation, and dynamic compilation with respect to statically compiled in the end what good is (the JVM the JIT);
3, can use some tools, jmap, jvisualvm, jstat, jconsole and other tools can assist you observe a Java application heap at runtime the layout of the situation, which you can improve performance by adjusting parameters JVM Java application;
4, clearly know how Java programs are executed;
5, you can understand why high-level languages such as Java has strong portability features. Actually, this is the equivalent of "Why C / C ++ programmers need to learn the architecture and compiler theory?"
6, to know how your hair is not

After my column about the JVM

In fact, before you start writing it is to write a column JVM concurrent programming column, and thought for a long time, but finally decided to write a JVM column! Learn JVM has one of the biggest feature is .... learn to forget, ah ha ~

Because virtual machines a wide variety of mention here, the most commonly used is the Hotspot virtual machine (which translates to hot places, spots, understood as the hot spot is also OK) after the column are based on Hotspot virtual machine subject of the article.

If you want more in-depth understanding of JVM recommend watching Zhou Zhiming teacher "in-depth understanding of the Java Virtual Machine." Type of combat, you can see Ge Yiming teacher's "real Java Virtual Machine"

In order to facilitate learning JVM, do not go online to find books, bloggers prepared Zhou Zhiming teacher "in-depth understanding of the Java Virtual Machine," e-book, slowly eating it hhhhhhhh ...

Zhou Zhiming teacher "in-depth understanding of the Java Virtual Machine": https://pan.baidu.com/s/1JoNm7LWKJNyF6bGX3j6MuQ
extraction code: i3xz

The following are JVM column article:

Do not turn up, this article definitely make you a deep understanding of java class loading mechanism of JVM articles [two]

Try to find time to update ...

Again: Learning JVM has one of the biggest feature is .... learn to forget, ah ha ~

Finally, I welcome you to focus on the public number, to explore technology, yearning technology, the pursuit of technology ...
Here Insert Picture Description
Reference:
"in-depth understanding of the Java Virtual Machine"
https://www.cnblogs.com/chanshuyi/p/jvm_serial_00_why_learn_jvm.html

Did not fly every day to live up to is a kind of life ....

Preface
have been thinking about writing this column JVM, write directly to the knowledge of dry goods, but still think it is necessary to talk about why learning begins JVM, so allow some learners bottom was a little feeling better ...

One reason: the interview

Have to say, as the Internet increasing the threshold, JVM is the knowledge of senior programmers phase will ask a topic! Now as before, the previous point would htmlhave Haozhaogongzuo, now as more and more people learning software, and college students are graduating each year (and the older and rarely change jobs) people will only increase , just pull a hair lush uncle in the street are probably engaged in the software, now has an evil wind, no matter what companies are slowly like big companies like Ali close, do not ask interview point jvm, concurrency, distributed embarrassed (Although the company may not be used, although it may only CURD), always ask that these seem to force grid high point, for whatever reason in a lot of companies really are like this!

So I have to believe a lot of people came into contact with a Java virtual machine just because the interview need to use, so bite the bullet and go to school. Why do so many people to study this issue virtual machine, are consistent answer is: because the interview.

In fact, learning not only JVM that interview, but in a deeper understanding of the language Java, as well as lay the foundation for future online troubleshooting problems. In fact, plainly, you have to start good (pass) good (too) learn (surface) java (test) ....

However, the reality is this, after all, comes from real life! It is also because JVM to live and study at the same time of the interview also laid the foundation for a better learning java!

Two reasons: For a deeper understanding of the language Java

Learning Java virtual machines in-depth understanding of the Java language. Just work for a year or two friends, each API did not use cooked, naturally not go in-depth study of the various details of Java. If you are in this life only willing to be a mediocre agricultural Java code, then you have no need to learn JVM-related knowledge.

But for the work of the next three friends, a lot of time to solve a problem you have to go deep into the bytecode level analysis, you can get accurate conclusions, but that is part of the bytecode virtual machine.

This in-depth understanding of the Java language example:

1, we used Boolean Boolean, we all know that it has two values, true and false. But you know that in fact at runtime, Java Virtual Machine is no Boolean Boolean this type. Integer Boolean type used in the virtual machine 1 and 0 represent.

2, we all know that the class path and class name uniquely identifies a class, but in fact not the case. Or, as we say in conclusion only on the surface. If you go deep into the virtual machine level, the class loader class path, the only decision before the class name of a class. That is, if two different class loaders load them with a class class files, and that these two classes loaded class is different.

These two examples, if you do not understand some of the basics of the virtual machine, then it is hard to understand some of the details in depth.

If nothing else, it is light and chat with colleagues, old colleagues when it comes to the new generation of what's to ask you a GC logs for, you do not have JVM basis, thieves embarrassed, at that time you will only call me C cow B ....

Reason Three: Learning virtual machine is a better solution for future online troubleshooting

Virtual machine learning is the foundation for online troubleshooting. We know that we deploy a Java application on the online machine, certainly from time to time problems. Removal of problems of their own networks, systems, problems often Java applications, the Java virtual machine memory is a problem. Either out of memory, and either GC frequent cause slow response and so on.

How then to solve these problems? First, you must learn to read the log it. Then you have to be able to understand GC log, which is part of the Java virtual machine content. GC logs you read, then you have to understand what the young generation, old time, permanent generations, metadata area, etc., these are the Java virtual machine memory model. Do you understand the Java virtual machine memory model, then you have to know how the Java virtual machine garbage collection, the garbage collection algorithm they use is like, what their advantages and disadvantages. Then there is the characteristics of the various garbage collector.

You see, all these things are associated. You want to solve the Java application crashes online, then you must learn to GC logs. GC logs to understand, we must learn the Java virtual machine memory model. To understand the Java virtual machine memory model, you must learn to garbage collection and so on.

The benefits of learning the JVM

Learning a JVM for Java programmers about the benefits can be summarized under six:

1, the earliest can understand why Java is known as an interpreted language, but then why has been interpreted and compiled all known coexistence of language (understanding the JVM interpreter and time compiler can answer this question);
2, you can understand dynamic compilation differs from static compilation, and dynamic compilation with respect to statically compiled in the end what good is (the JVM the JIT);
3, can use some tools, jmap, jvisualvm, jstat, jconsole and other tools can assist you observe a Java application heap at runtime the layout of the situation, which you can improve performance by adjusting parameters JVM Java application;
4, clearly know how Java programs are executed;
5, you can understand why high-level languages such as Java has strong portability features. Actually, this is the equivalent of "Why C / C ++ programmers need to learn the architecture and compiler theory?"
6, to know how your hair is not

After my column about the JVM

In fact, before you start writing it is to write a column JVM concurrent programming column, and thought for a long time, but finally decided to write a JVM column! Learn JVM has one of the biggest feature is .... learn to forget, ah ha ~

Because virtual machines a wide variety of mention here, the most commonly used is the Hotspot virtual machine (which translates to hot places, spots, understood as the hot spot is also OK) after the column are based on Hotspot virtual machine subject of the article.

If you want more in-depth understanding of JVM recommend watching Zhou Zhiming teacher "in-depth understanding of the Java Virtual Machine." Type of combat, you can see Ge Yiming teacher's "real Java Virtual Machine"

In order to facilitate learning JVM, do not go online to find books, bloggers prepared Zhou Zhiming teacher "in-depth understanding of the Java Virtual Machine," e-book, slowly eating it hhhhhhhh ...

Zhou Zhiming teacher "in-depth understanding of the Java Virtual Machine": https://pan.baidu.com/s/1JoNm7LWKJNyF6bGX3j6MuQ
extraction code: i3xz

The following are JVM column article:

Do not turn up, this article definitely make you a deep understanding of java class loading mechanism of JVM articles [two]

Try to find time to update ...

Again: Learning JVM has one of the biggest feature is .... learn to forget, ah ha ~

Finally, I welcome you to focus on the public number, to explore technology, yearning technology, the pursuit of technology ...
Here Insert Picture Description
Reference:
"in-depth understanding of the Java Virtual Machine"
https://www.cnblogs.com/chanshuyi/p/jvm_serial_00_why_learn_jvm.html

Guess you like

Origin www.cnblogs.com/xichji/p/11856693.html