jvm是java程序的运行环境,作为一名java程序员,是肯定要理解的。有不对的请留言,一定改。
1.JVM整体介绍
-
JVM 运行流程
图中的源程序,不仅仅只有java,比如scale等,也可以作为源程序。
java语音之所以是跨平台的,就是因为有JVM。
-
JVM整体结构
主要由类加载器,运行时数据区,执行引擎,本地方法等组成。
2.JVM组成介绍
- 类加载器(ClassLoader)
jvm中有四类加载器,按优先级分别是启动类加载器(加载rt.jar),扩展类加载器(加载/lib/ext文件夹里面的jar),应用类加载器(我们的应用程序就是由它加载)和自定义类加载器。类加载采用的是双亲委派模型,双亲委派意思就是当加载一个类的时候,先由优先级高的加载器去加载,如果没找到就依次往下,也就是说任何一个类加载的时候都会到启动类加载器去判断是否可加载到,类加载器不是继承的关系,是组合的关系。