JVM结构原理,GC工作原理

JVM四个组成部分

1.类加载器

作用:将需要的class加载到JVM中。

类加载过程:加载,验证,准备,解析,初始化,使用和卸载7个阶段。验证,准备,解析三个步骤被统称为连接linking。

加载,验证,准备,初始化和卸载这五个顺序是确定的,而解析阶段则不一定(为了支持java语言的运行时绑定)。

对类初始化的情况

a.创建类的实例

b.对类进行反射调用时

c.初始化一个继承的子类时

d.虚拟机启动时,主类需初始化

ClassLoader的等级加载机制

1.bootstrap classloader:启动类加载器,负责加载JDK中的核心类库

2.extension classloader:扩展类加载器,负责加载java的扩展类库(?)

3.app classloader:系统类加载器,负责加载应用程序classpath目录下的所有jar和class文件。(ClassLoader.getSystemClassLoader())

ClassLoader加载类的原理

需要加载某个类时加载顺序为 bootstrap classloader -> extension classloader -> app classloader -> 指定的文件系统或网络URL中加载 -> 抛出ClassNotFoundException异常

你可能感兴趣的:(JVM结构原理,GC工作原理)