Some of the previous blog posts describe the Java class file format, the JVM loading mechanism, and the JVM's memory model, and here we simply put the Java object creation process together, so that the entire creation process of Java objects is basically clear (of course you have to have the basis to really see). I am often asked why I like to delve into the bottom of things, first, because I used to do hardware and embedded, interest dictates; Secondly, I personally feel that if you do not get up and down, the heart always has a wall to pass, plainly, this is a personal factor, and good or bad (of course, often someone said, Understanding the underlying principle is the only way to become a master.
Now for the reason I learned about the JVM, before I learned Java, I only learned C + +, when I contacted Java, I found that there is a huge difference between Java and C + +, the most confusing is that C + + inheritance and Java Inheritance Implementation principle is the same ( How does an object ultimately navigate to a field, whether the field is itself or inherited? is the polymorphic implementation mechanism the same? Wait a minute. Because I have seen the "Deep Exploration of C + + object Model", the object model of C + + knows (always intended to write a C + + object model of the article, suffering from no time, the back must be mended), so I feel that only the JVM dead end to find the answer.
Schematic creation of Java objects