Java中的所有类,必须被装载到jvm中才能运行,这个装载工作是由jvm中的类装载器完成的,
类装载器所做的工作实质是把类文件从硬盘读取到内存中。
Java中的类装载器实质上也是类,功能是把类载入jvm中.
我们知道jvm的类装载器有三个,层次结构如下:
Bootstrap Loader - 负责加载系统类
|
- - ExtClassLoader - 负责加载扩展类
|
- - AppClassLoader - 负责加载应用类
问题:类加载器为何不是一个,而要有三个。而且这三个类加载器是如何协调工作的,也就是说碰到一个类需要加载时,它们之间是如何协调工作的,即java是如何区分一个类该由哪个类加载器来完成呢。 |