java虚拟机对class文件采用的是按需加载的方式,也就是说只有在需要使用这个类时,才会将它的class文件加载到内存生成class对象,加载类文件时采用的双亲委派模式,也就是把请求交给父类处理,也就是说,
- 如果一个类加载器收到了类加载的请求,并不会自己先去加载,而是把这个请求委托给父类的加载器去执行
- 如果父类的加载器还存在其父类的加载器,就会进一步向上委托,直到达到最顶层的引导类加载器
- 如果父类加载器可以完成加载任务,就会直接返回,只有父类加载器不能完后任务时,子类加载器才回去尝试加载,这也就是双亲委派模式
这样就可以避免类的重复加载;并且保护程序安全,防止核心api被篡改
例如你可以自定义一个Object类,但是你无法使用它