JVM主要组成部分及作用
JVM主要包含两个子系统和两个组件:
子系统:类加载系统,执行引擎
组件:运行时数据区,本地方法接口
类加载系统:根据给定的类的全限定类名(java.lang.obejct)将字节码文件加载到运行时数据区的方法区。
执行引擎:执行classes中的指令
运行时数据区:即是我们常说的jvm内存。里边包含了线程共享区(方法区,堆),线程独占区(本地方法栈,程序计数器,虚拟机栈)
本地方法接口:连接本地方法库,是与其他编程语言交互的接口。
java程序运行机制详解:
1>IDE工具编写java文件,后缀名为.java文件
2>通过javac编译器,将.java文件编译为字节码文件(.class文件)
3>通过类加载器,将.class文件加载到JVM运行时数据区中的堆空间。
4>通过命令解析器执行引擎将字节码文件翻译成底层系统指令,交由CPU执行
5>在这个过程中,需要调用其他语言的本地库接口。
另外一种理解就是:类加载就是通过类加载器将.class文件中的二进制数据读取到内存中,将其放在方法区中,并在堆中创建一个java.lang,Class对象,堆中存放的是类信息,用来封装类在方法区中的数据结构。
版权声明:本文为JIESHAOCSDN原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。