破坏双亲委派机制(自定义类加载器)

jvm中讲过,一个类的创建是要经历类加载器的,那么我们来讲讲如何自定义类加载器。

jvm优先级最高的就是自定义类加载器,为什么这么说呢?我们来看看类加载器的源码:

破坏双亲委派机制(自定义类加载器)_第1张图片

首先我们解释一下这个方法做了什么,要求返回一个类,在最前面就有一个判断 

就是判断我们即将加载的类是否已经被加载过(内存中是否存在) 。

不存在进行加载,再往下面,就有一个链表递归的一个思想:

当后面没有元素时,指针为null。

双亲委派机制就是一直向后查找,直到找到为止(自定义加载器、项目加载器、扩展加载器、根加载器)。

有三个办法可以实现自定义加载器:

继承 ClassLoader类,分别实现

loadClass方法(上面的代码就是用的这个)

findClass方法

线程类的方法

你可能感兴趣的:(jvm,java,开发语言)