前言 记一次阿里面试的时候的一道面试题,被问到可以自定义java.lang.String这个类,让你自定义的类加载器进行加载么? 分析ClassLoader 跟着这个loadClass一路追踪,首先找到了defineClass 接着我们再看preDefineClass这个方法 下面是preDefineClass方法的源码 可以看到JVM不允许你这样做的,会出现java.lang.SecurityException,JVM做了安全检查的,几乎也没有人定义与JDK核心类库完全限定名的类。