虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制
1.类加载的过程
关于虚拟机的类加载机制,推荐阅读《深入理解JVM虚拟机》(周志华)第7章。或者阅读此篇博客 深入理解JVM(5)——虚拟机类加载机制 。
什么是符号引用、直接引用 https://blog.csdn.net/u014656992/article/details/51107127
2.类加载器
Java类加载器、双亲委派模型、破坏双亲委派模型
https://blog.csdn.net/javazejian/article/details/73413292#commentBox
根据《深入理解JVM虚拟机》 第7章7.4.3节,双亲委派模型出现过3次大规模的“被破坏情况”。
- jdk1.2发布之前,由于双亲委派模型使jdk1.2之后引入的,所以之前的代码是通过用户自定义类加载器的实现代码。
- 线程上下文类加载器,上面的链接博客中介绍了线程上下文类加载器如何破坏双亲委派模型
- OSGi中,类加载器不再是双亲委派模型中的树状结构,而是进一步发展为更加复杂的网状结构。
https://blog.csdn.net/vking_wang/article/details/12875619