介绍了类加载器的基础和类的生命周期的基础内容,今天我们来继续深入的来看一下java的类加载器的详细内容。我们都知道。类加载器用来把类加载到java虚拟机。从JDK2.0开始,类的加载过程采用父亲委托机制。JVM的ClassLoader采用的是树形结构,除了根类加载器以外,每个ClassLoader都会有且仅有一个父类加载器,用户自定义的ClassLoader默认的父类加载器是系统类加载器,当然你可以自己指定需要用个ClassLoader的实例
Java程序员从笨鸟到菜鸟之(九十七)深入java虚拟机(六)——类加载的父亲委托机制
在前面两篇博客中我们简单介绍了类加载器的基础和类的生命周期的基础内容,今天我们来继续深入的来看一下java的类加载器的详细内容。我们都知道。类加载器用来把类加载到java虚拟机。从JDK2.0开始,类的加载过程采用父亲委托机制。JVM的ClassLoader采用的是树形结构,除了根类加载器以外,每个ClassLoader都会有且仅有一个父类加载器,用户自定义的ClassLoader默认的父类加载器是系统类加载器,当然你可以自己指定需要用个ClassLoader的实例,我们来看他们的父子关系:
父类委托机制中,当一个java程序请求加载器loader1加载Hello类时,loader1首先委托自己的父亲加载器加载hello类,若父亲加载器能加载,则由附加器完成加载人物,否则才由加载器loader1本身加载Hello类。下面我们来再次看一下java虚拟机自带的几个加载器: