美文网首页
类加载器、双亲委派模型

类加载器、双亲委派模型

作者: SinX竟然被占用了 | 来源:发表于2017-09-26 09:58 被阅读0次

类加载器用于加载类。

对于任意一个类,都需要由加载它的 类加载器 和这个 一同确立其在Java虚拟机中的唯一性。每一个类加载器,都有一个独立的 类名称空间

由不同的类加载器加载的类必定不相等


1、类加载器

从虚拟机角度看,只存在两种类加载器:1. 启动类加载器。2. 其他类加载器。
从开发人员角度看,包括如下类加载器:1. 启动类加载器。2. 扩展类加载器。3. 应用程序类加载器。4. 自定义类加载器。

  1. 启动类加载器(Bootstrap ClassLoader):用于加载Java API,加载<JAVA_HOME>\lib目录下的类库。

  2. 扩展类加载类(Extension ClassLoader):由sun.misc.Launcher$ExtClassLoader实现,用于加载<JAVA_HOME>\lib\ext目录下或者被java.ext.dirs系统变量指定路径下的类库。

  3. 应用程序类加载器(Application ClassLoader):也成为系统类加载器,由sun.misc.Launcher$AppClassLoader实现,用于加载用户类路径(ClassPath)上所指定的类库。

  4. 自定义类加载器:实现用户自定义加载逻辑。

各个类加载器之间是组合关系,并非继承关系。


2、双亲委派模型

双亲委派模型

类加载器之间的这种层次关系,称为类加载器的双亲委派模型

双亲委派模型要求除了顶层的启动类加载器之外,其余的类加载器都应该有自己的父类加载器。

各个类加载器之间是 组合关系,并非继承关系。

双亲委派模型的工作过程

当一个类加载器收到类加载的请求,它将这个加载请求委派给父类加载器进行加载,每一层加载器都是如此,最终,所有的请求都会传送到启动类加载器中。只有当父类加载器自己无法完成加载请求时,子类加载器才会尝试自己加载。

双亲委派模型的优点

双亲委派模型可以确保安全性,可以保证所有的Java类库都是由启动类加载器加载。如用户编写的java.lang.Object,加载请求传递到启动类加载器,启动类加载的是系统中的Object对象,而用户编写的java.lang.Object不会被加载。如用户编写的java.lang.virus类,加载请求传递到启动类加载器,启动类加载器发现virus类并不是核心Java类,无法进行加载,将会由具体的子类加载器进行加载,而经过不同加载器进行加载的类是无法访问彼此的。由不同加载器加载的类处于不同的运行时包。所有的访问权限都是基于同一个运行时包而言的。

相关文章

  • Java 类加载

    双亲委派模型 并非强制 而是推荐 SPI 父类加载器需要子类加载器加载类 打破双亲委派模型 https://www...

  • ClassLoader重点梳理

    类加载器 对类加载器的学习重点要掌握以下几点: 双亲委派模型的概念 双亲委派模型的实现原理 类加载器的工作原理 如...

  • 类加载机制 双亲委派模型

    双亲委派模型 模型如下图: 双亲委派模型中除了启动类加载器之外其余都需要有自己的父类加载器 当一个类收到了类加载请...

  • 双亲委派模型

    一、什么是双亲委派模型 约定: 双亲委派模型要求除了顶层的启动类加载器外,其余的类加载器都应有自己的父亲加载器(但...

  • Java虚拟机

    JVM 组成部分 类加载器 执行引擎 内存区 本地方法调用 类加载器 双亲委派模型 类的加载过程采用双亲委派机制,...

  • java类加载破坏双亲委派模型

    前面java类加载器与双亲委派模型中提到Java采用个双亲委派的方式来完成类加载,但是双亲委派模型并不是一个强制的...

  • 类加载器与双亲委派模型

    1. 双亲委派模型 1.1 什么是双亲委派模型 首先,先要知道什么是类的加载器。简单说,类加载器就是根据指定全限定...

  • 要点提炼| 理解JVM之类加载机制

    本篇将了解类加载机制和双亲委派模型这两大知识考点: 概述 类加载全过程 类加载器&双亲委派模型 1.概述 a.JV...

  • 3、双亲委派模型详解

    3. 双亲委派模型   双亲委派模式要求除了顶层的启动类加载器外,其余的类加载器都应当有自己的父类加载器,请注意双...

  • JVM系列(九):Java类加载机制之双亲委派模型

    前言 双亲委派模型是Java加载类的机制.采用双亲委派模型的好处是Java类随着它的类加载器一起具备了一种带有优先...

网友评论

      本文标题:类加载器、双亲委派模型

      本文链接:https://www.haomeiwen.com/subject/dwldextx.html