描述一下JVM加载class文件的原理机制?

java虚拟机JVM浏览:469收藏:0
答案:
1. 查找当前ClassLoader中是否有此class的类对象,有则返回
2. 若没有的话,向上递归所有的父ClassLoader中有无此class类对象,有则返回
3. 若还没有,查找BootstrapClassLoader中有无此class类对象,有则返回
4. 若还没有的话,使用findClass或resolveClass加载类对象
a. 读取class二进制文件
b. 根据字节数组生成Class对象
c. 缓存到当前ClassLoader中

JVM加载class对象是懒加载,按需加载