programming for java virtual machine note
2010-04-05 23:43
429 查看
JVM is devided into four conceptual data space:
class areas: the code and the constant are kept
java stack: which keep track of which the method has been called and the data associated with each method invocation
heap: the object are kept
Native method stack: for support mative method
Oolong is a assembly language for java virtual machine
There is a spacial method named <clinit> that is used to initialize the class as a whole, It's often used to initialize static fields. The <clinit> method taked no arguments and return nothing. It's called by JVM when class is loaded. There is no need for you to call it.
The verification algorithm is to ensure the class file that are loaded into machine follow certain rules. Those rules guarantee the programm can not gain access the fields and methods that they are not allow to access and they can not otherwise trick the JVM into doing unsafe things. The verification algorithm is applied ot every class as they are loaded into the system. before the instences are created or the static properties are used.
class load can take place in two phases, loading and link
After loading, the virtual machine know the name of the class, where it fit into the class hierarchy, and what fields and methods is has.
In the second phase, called linking or resolution,the class is verified to ensure it is well formed and don't try to violate the any the virtual machine's safe constraints. then the static initializer <clinit> is invoked. After linking, the class is ready to use.
The two-stage process allows classes to reference to one another whithout causing infinite loops when two class reference each other.
class areas: the code and the constant are kept
java stack: which keep track of which the method has been called and the data associated with each method invocation
heap: the object are kept
Native method stack: for support mative method
Oolong is a assembly language for java virtual machine
There is a spacial method named <clinit> that is used to initialize the class as a whole, It's often used to initialize static fields. The <clinit> method taked no arguments and return nothing. It's called by JVM when class is loaded. There is no need for you to call it.
The verification algorithm is to ensure the class file that are loaded into machine follow certain rules. Those rules guarantee the programm can not gain access the fields and methods that they are not allow to access and they can not otherwise trick the JVM into doing unsafe things. The verification algorithm is applied ot every class as they are loaded into the system. before the instences are created or the static properties are used.
class load can take place in two phases, loading and link
After loading, the virtual machine know the name of the class, where it fit into the class hierarchy, and what fields and methods is has.
In the second phase, called linking or resolution,the class is verified to ensure it is well formed and don't try to violate the any the virtual machine's safe constraints. then the static initializer <clinit> is invoked. After linking, the class is ready to use.
The two-stage process allows classes to reference to one another whithout causing infinite loops when two class reference each other.
相关文章推荐
- android Error occurred during initialization of VM Could not reserve enough space for object heap Could not create the Java virtual machine.
- 今天从http://eclipse.org/下载了一个Eclipse IDE For Java EE Developers,解压后启动,发现弹出提示框“ Failed to create the Java Virtual Machine”
- JVM Specification 9th Edition (4) Chapter 3. Compiling for the Java Virtual Machine
- Java Virtual Machine Note
- JVMS Specification(2)-Compiling for the Java Virtual Machine
- Note of learning Inside the Java Virtual Machine Chapter Five
- could not create java virtual machine
- ADT 启动出现“fail to create the java virtual machine”解决方案
- 运行 Flash builder 4.5 弹出对话框 failed to create the java virtual machine 解决方法
- spark master 启动出现Could not create the Java Virtual Machine.
- Tomcat和Java Virtual Machine的性能调优总结
- Unable to create an instance of the Java Virtual Machine Located at path:
- Failed to create the java virtual machine完全解决办法
- ubuntu : no java virtual machine was found after searching
- java virtual machine(java虚拟机的运行机制)?
- 【eclipse】启动时fail to create Java Virtual Machine
- Failed to create the Java Virtual Machine
- Unable to launch the Java Virtual Machine Located at path: ..\..\jdk\jre\bin\client\jvm.dll
- java virtual machine launcher Could not find the main class. Program will exit
- Failed to create the Java Virtual Machine (Myeclipse或者eclipse启动报错)