前言:
最近在看JVM相关资料,这里记录下学习笔记,希望自己能坚持学完,打牢基础。
一、类加载过程
1,类从被加载到JVM中开始,到卸载为止,整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。
2,其中类加载过程包括加载、验证、准备、解析和初始化五个阶段。
二、Java类运行过程
我们编写完的程序都是以java结尾的文件,编译写完的代码都会生成一些后缀为class的字节码文件。
当执行java -jar命令后(以springboot为例),此时会启动一个JVM进程,然后通过类加载机制来将所需要的类加载到JVM中进行运行。
这样一个编译好的系统就可以运行起来了。
aaarticlea/png;base64,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*CeeAfygMAgUB5AAAOoTwgXgjlgX8oD9wVygP/UB4ACATKAwBwCOUB8UIoD/xDeeCuUB74h/IAQCBQHgCAQygPiBdCeeAfygN3hfLAP5QHAAKB8gAAHEJ5QLwQygP/UB64K5QH/qE8ABAIlAcA4BDKA+KFUB74h/LAXaE88A/lAYBAoDwAAIdQHhAvhPLAP5QH7grlgX8oDwAEAuUBADiE8oB4IZQH/qE8cFcoD/xDeQAgECgPAMAhlAfEC6E88A/*CeeAfygMAgUB5AAAOoTwgXgjlgX8oD9wVygP/UB4ACATKAwBwCOUB8UIoD/xDeeCuUB74h/IAQCBQHgCAQygPiBdCeeAfygN3hfLAP5QHAAKB8gAAHEJ5QLwQygP/UB64K5QH/qE8ABAIlAcA4BDKA+KFUB74h/LAXaE88A/lAYBAoDwAAIdQHhAvhPLAP5QH7grlgX8oDwAEAuUBADiE8oB4IZQH/qE8cFcoD/xDeQAgECgPAMAhlAfEC6E88A/*CeeAfygMAgUB5AAAOoTwgXgjlgX8oD9wVygP/UB4ACATKAwBwCOUB8UIoD/xDeeCuUB74h/IAQCBQHgCAQygPiBdCeeAfygN3hfLAP5QHAAKB8gAAHEJ5QLwQygP/UB64K5QH/qE8ABAIlAcA4BDKA+KFUB74h/LAXaE88A/lAYBAoDwAAIdQHhAvhPLAP5QH7grlgX8oDwAEAuUBADiE8oB4IZQH/qE8cFcoD/xDeQAgECgPAMAhv/zyixw/flyioqIlPSdXSg/VSUVdPSGuSnreLgmP2iwJ2flSeKyR8sAK5YG7QnngH8oDAIFAeQAADvn111+l8fx52b4jReLit0p4ZKSEhkcQ4qqER8dIpDUw275rjxQdv0B5YIXywF2hPPAP5QGAQKA8AACH6C9xd+/dk4bjx+VQdbWUlpZKSUmJFBcXS1FRkRQWFkpBQQHpJYmJibJmzRpZtzFUohK2yZYd6aSfk5CVZ4qD7AOHZc/pFsoDK5QH7grlgX8oDwAEAuUBADjkX//6l7l14T//88/yH3/6k/z444/y/fffy+PHj+X+/fty584duX37NuklFRUVEhISIqFb4iW9rEp2HTlD+jkF9eekqOGCKQ5Kz1+jPLBCeeCuUB74h/IAQCBQHgCAi+gvdfrL3d/+9jfzi97PP/9MeklDQ4OEhoZKdFKKGeTub7lFAhxTHLTdler2B1Lb+dh24DLQQ3ngrlAe+IfyAEAgUB4AgIvoL3Q6I0F/ufvHP/5B+sjZs2clMjJS4lIzpeTUJanueEgCnBorOuOgrvOx1N14YjtwGeihPHBXKA/8Q3kAIBAoDwAAnnXhwgXZvHmzbM3IkfJzrba/RBPS36E8cFcoD/xDeQAgECgPAACeRXlAnAj*CeeAfygMAgUB5AADwLMoD4kQoD9wVygP/UB4ACATKAwCAZ1EeECdCeeCuUB74h/IAQCBQHgAAPIvygDgRygN3hfLAP5QHAAKB8gAA4FmUB8SJUB64K5QH/qE8ABAIlAcAAM+iPCBOhPLAXaE88A/lAYBAoDwAAHgW5QFxIpQH7grlgX8oDwAEAuUBAMCzKA+IE6E8cFcoD/xDeQAgECgPAACeRXlAnAj*CeeAfygMAgUB5AADwLMoD4kQoD9wVygP/UB4ACATKAwCAZ1EeECdCeeCuUB74h/IAQCBQHgAAPIvygDgRygN3hfLAP5QHAAKB8gAA4FmUB8SJUB64K5QH/qE8ABAIlAcAAM+iPCBOhPLAXaE88A/lAYBAoDwAAHgW5QFxIpQH7grlgX8oDwAEAuUBAMCzKA+IE6E8cFcoD/xDeQAgECgPAACeRXlAnAj*CeeAfygMAgUB5AADwLMoD4kQoD9wVygP/UB4ACATKAwCAZ1EeECdCeeCuUB74h/IAQCBQHgAAPIvygDgRygN3hfLAP5QHAAKB8gAA4FmUB8SJUB64K5QH/qE8ABAIlAcAAM9qaWmRpG3bJH5HuuTsq5bCw6cICXjSS/aZwerG8AjZnr/b9hgSvOwo2CObIqIkPCZW0oorbI8ZbNlZWSdbUzNlc0yM1B87RnkAoF9QHgAAPOvatXbJ2ZkrcQlJEh2fKJFxCYQEPGHRMbIuZIOsWbfODFrtjiHBy6bIaFm7br31noRIaNRm22MGW6LiE2TL1gTZnpIip06fpjwA0C8oDwAAnvXw4SM5Wn9M9paWSm5urmRmZkp6erqkpaVJamqqpFi/OBPS30lIsAasmzbJ+vXrJTY21vYYErzExcVJSEiIbNy4UbZu3Wp7zGBLekaG7CookH2VlXKltZXyAEC/oDwAAHjWzz//LN//8IM8ePhQ7ty5Izdu3JD29nZptX5Zvnz5srmtgZD+jt5DnpSUJFFRUVJRUWF7DAle9u/fb9Y+0VKnpqbG9pjBFv3/X1tbm3Ra/098/OSJ/PnPf6Y8APDKKA8AAAPGP//5T/n111/lf/7nf+S//uu/5C9/+Qsh/Z6Ojg4z00U/5T58+LAprohzqa+vl8TERMnOzjYDZrv3jPxF/vrXv1IeAHgllAcAgAFDfyn+3//9X/nll1/ML8o6M4GQ/o4OWEtLS83sg6ysLCkqKiIORksDfS9KSkrk1q1btu8Z+Vn+9re/yT/+8Q/517/+RXkA4KVQHgAABgz9pVh/OdYC4e9//7v5ZZmQ/s63335rPu3OyckxU+UjIiKIg9H3QAuEI0eOyOPHj23fM/K3rlkH+v9JAHgZlAcAgAFDP03TX4z1F2S9hYGQQOS///u/5cGDB3L16lVpbm6Ws2fPEgej74G+F/fv3ze3K9m9Z+SfXcUBsw4AvCzKAwAAAAAA0CvKAwAAAAAA0CvKAwAAAAAA0CvKAwAAAAAA0CvKAwAAAAAA0CvKAwAAAAAA0CvKAwAAAAAA0CvKAwAAAAAA0CvKAwAAAAAA0CvKAwAAAAAA0CvKAwAAAAAA0CvKAwAAAAAA0CvKAwAAAAAA0CvKAwAAAAAA0CvKAwAAAAAA0CvKAwAAAAAA0CvKAwAAAAAA0CvKAwAAAAAA0CvKAwAAAAAA0CvKAwAAAAAA0CvKAwAAAAAA0CvKAwAAAAAA0CvKAwAAAAAA0CvKAwAAAAAA0CvKAwAAAAAA0CvKAwAAAAAA0CvKAwAAAAAA0CvKAwAAAAAA0AuR/w/0twAgunGLygAAAABJRU5ErkJggg==" alt="" name="en-media:image/png:230d5b366dd4d8338f054e52c2c54d46:none:none" width="491" />
三、类加载机制
我们都知道类的加载是一个很繁琐的过程,基本流程如下:
加载-》验证-》准备-》解析-》初始化-》使用-》卸载
1、加载
到底什么时候该去加载一个类呢?答案就是在我们使用一个类的时候,以main() 函数为入口,当JVM启动的时候,它会将含有main()函数入口的代码加载然后开始执行。
aaarticlea/png;base64,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" alt="" name="en-media:image/png:fe0c7f1737dd224f49c4ebc3096a7a91:none:none" width="491" />
首先是代码中含有main()函数,然后开始执行main()函数中的代码,接着遇到ReplicaMananger类,此时就会将对应的.class字节码文件加载到内存中。
2、验证|准备|解析
(1)验证阶段
简单来说,这一步就是根据Java虚拟机规范,来校验你加载进来的”.class”文件中的内容,是否符合指定的规范。
所以把”.class”加载到内存里之后,必须先验证一下,校验他必须完全符合JVM规范,后续才能交给JVM来运行。
aaarticlea/png;base64,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" alt="" name="en-media:image/png:2511df7b780c9f7300969d852b254237:none:none" />
(2)准备阶段
例如下面的一个”ReplicaMananger”类:
public class ReplicaMananger {
Public static int flushInterval;
}
假如有上面的一个类,它的class文件内容刚被加载到内存之后,会进行验证,确认这个字节码文件的内容是规范的,接着进行准备工作。
准备工作其实就是为”ReplicaMananger”类分配一定的内存空间,然后给它里面的变量分配内存空间,来一个默认的初始值。
比如上面的示例中,就会给”flushInterval"这个变量分配内存空间,给一个”0”这个初始值。
aaarticlea/png;base64,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" alt="" name="en-media:image/png:f7d7235edb66a617ee3f154c164bdd10:none:none" />
(3)解析阶段
解析阶段,实际上就是把符号应用替换为直接引用的过程。
在程序编译时,java类并不知道所引用的类的实际地址,因此只能引用符号引用来替代。例如,在Class文件中它以class_info、fieldref_info、methodref_info等类型的常量出现。
比如org.simple.People类引用了org.simple.Language类,在编译时,People类并不知道Language类的地址,因此只能使用org.simple.Language(假设是这个,当然实际是由类似于CONSTANT_Class_info的常量来表示的)来标识Language类的地址。直接引用可以是直接指向目标的指针、相对偏移量、一个能间接定位到目标的句柄。
aaarticlea/png;base64,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" alt="" name="en-media:image/png:48c0fec825398ebdbe2e54feee392ef6:none:none" />
3、核心阶段:初始化
上面说过,在准备阶段,就会给”ReplicaMananger”类给分配好内存空间,另外他的一个默认的初始值为”0”,那么在接下来,在初始化阶段,就会正式执行我们的类初始化代码了。
aaarticlea/png;base64,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" alt="" name="en-media:image/png:f4b7812a7408bd4e44ceeecc86e3c2da:none:none" />
如上所示,flushInterval这个变量是由Configuration.getInt("replica.flush.interval")这段代码来获取一个值,并且赋值给他的。另外还比如在static静态代码块,也会在这个阶段来执行。
4、总结
一般来说,在new Class() 来初始化类对象时,会触发类的加载到初始化的全过程,把这个类准备好,然后是实例化一个对象出来。
或者是包含main()方法的主类,必须是立马初始化的。
此外,还有一个非常重要的规则,就是如果初始化一个类的时候,发现他的父类还没有初始化,那么必须先初始化他的父类。
四、双亲委托原则
Java中的类加载器
1,启动器加载器:Bootstrap ClassLoader
一旦JVM启动,那么首先就会依托启动类加载器,去加载Java安装目录下的”lib”目录下的核心类库。
2,扩展类加载器: Extension ClassLoader
这个类加载器也是类似的,就是Java安装目录下,有一个”lib\ext”目录,这里有一些类,就是需要使用这个类加载器来加载的。
3,应用程序内加载器:Application ClassLoader
这类加载器就是负责加载ClassPath环境变量中所指定路径中的类,可以理解为加载我们写好的Java代码。这个类加载器就负责加载我们写好的类到内存中。
4,自定义类加载器
除了上面几种,我们还可以自定义类加载器,根据自己的需求加载需要的类。
5,双亲委托机制
JVM类加载器有亲子层级结构的,如下图:
aaarticlea/png;base64,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" alt="" name="en-media:image/png:b48f9da91740cb30f9b2d8e985c8df54:none:none" />
基于这个亲子层级结构,就有一个双亲委派的机制,也就是当我们加载一个类的时候,先找父亲去加载,不行的话再由儿子来加载。这样的话 可以避免多层级的加载器结构重复加载某些类。
6,双亲委派模式的优点:
采用双亲委派模式的是好处是Java类随着它的类加载器一起具备了一种带有优先级的层次关系,通过这种层级关可以避免类的重复加载,当父亲已经加载了该类时,就没有必要子ClassLoader再加载一次。
其次是考虑到安全因素,java核心api中定义类型不会被随意替换,假设通过网络传递一个名为java.lang.Integer的类,通过双亲委托模式传递到启动类加载器,而启动类加载器在核心Java API发现这个名字的类,发现该类已被加载,并不会重新加载网络传递的过来的java.lang.Integer,而直接返回已加载过的Integer.class,这样便可以防止核心API库被随意篡改。