Java允许开发人员自定义类加载器。
在ClassLoader中有两个方法分别是findClass()和loadClass()方法,它们没有被final修饰,所以子类可以重写。
因为在JDK1.2之后,双亲委派机制的核心代码在loadClass()方法中,所以我们不建议重写loadClass()方法(防止破坏),而是重写findClass()方法,实现自定义类加载来打破双亲委派机制。
比如tomcat里面使用的是自己定义的类加载器,我们的项目部署到tomcat时,运行时是由tomcat中的类加载器来加载的。