JVM加载细节
- JVM堆class文件采用按需加载的方式:当需要使用该类时才会将它的class文件加载到内存生成class对象。
- 而加载某个类的class文件时采用双亲委派模式,即把请求交由父类处理。
工作原理
说白了:就是从上到下的进行加载,老大bootStrap加载器加载,加载不了,就小弟加载,在某一个环节加载完了,就算结束咯。
沙箱安全机制
听不明白,反正就是双亲委派机制产生的结果就是沙箱安全机制
避免外部事物 ---------》污染了内部事物
例如,自己编写了java.lang包下的String类,加载的时候会加载rt.jar包中的String,并不会加载自身编写的String类
其它
标志两个类不一样的必要条件:
1.类的完整类名相同,全限定类名相同咯
加载这个类的ClassLoader必须时相同的
类加载器的引用
方法区中存储的类信息,会存储class是哪个加载器加载的。当解析一个类型到另一个类型的引用的时候,JVM需要保证这两个类型的类加载器是相同的