类装载子系统(二)
2020-04-01 本文已影响0人
salix_
一:作用
二:Loading过程
三:Linking过程
四:Initialization过程
一.作用
从文件系统或者是网络中加载class文件,class文件在文件的开头有特定的文件标识。
二:Loading过程
1.简单概述
- 通过一个类的全限定类型获取定义此类的二进制字节流
- 将这个字节流所代表的静态存储结构转换为方法区运行时的数据结构。(方法区在JDK8之前就叫方法区,JDK8以及之后叫元空间)
- 在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的访问入口。
2.ClassLoader(类记载器)(--这个地方自己百度吧,里面东西挺多的下面只是简单总结 就是下面的3 4 5 6--)
- 类加载器的作用就是将class文件加载进入JVM。
- 有两种类加载器。分别是系统类加载器(BootstrapClassLoader)、其他加载器。(其他类加载器又包括已经编写好的类AppClassLoder,ExtClassLoader)
3.BootStrapClassLoader
4.ExtClassLoader
5.AppClassLoder
6.用户自定义的类的加载器
主要是为了防止源码泄露
7. 双亲委派机制
三:Linking过程
1.验证:
2.准备:
3.解析
四:Initialization过程
变量赋值和静态代码块执行。