默认JVM只能从classpath中加载类,JVM类加载机制为实现从不同途径加载类预留了扩展,通过这个口子,JVM能够实现从网络,文件等其他地方加载类到内存。提供了扩展的同时需要解决如下几个问题:
1. 如何保证JVM的核心类不受应用的影响
2. 如何保证隔离性
为解决如上两个问题,JVM采用基于双亲委派原则来加载类,每当一个类需要加载到内存时,JVM把这个加载任务委派给父加载器,一直到启动加载器。(JVM提供三个加载器,按父子关系依次为:启动类加载器,扩展类加载器,应用类加载器)
默认JVM只能从classpath中加载类,JVM类加载机制为实现从不同途径加载类预留了扩展,通过这个口子,JVM能够实现从网络,文件等其他地方加载类到内存。提供了扩展的同时需要解决如下几个问题:
1. 如何保证JVM的核心类不受应用的影响
2. 如何保证隔离性
为解决如上两个问题,JVM采用基于双亲委派原则来加载类,每当一个类需要加载到内存时,JVM把这个加载任务委派给父加载器,一直到启动加载器。(JVM提供三个加载器,按父子关系依次为:启动类加载器,扩展类加载器,应用类加载器)