1.可以确保Java核心库的类型安全:所有的Java应用都至少会引用java.lang.Object类,也就是说在运行期,java.lang.Object这个类会被加载到Java虚拟机;如果用户自定义的类加载器可以加载Object类,那么很可能就会在JVM中存在多个版本的java.lang.Object类,而且这些类之间还是不兼容的,相互不可见的(正是命名空间在发挥着作用)。借助于双亲委托机制,Java核心类库中的类加载工作都是由启动类加载器来同意完成加载工作,从而确保了Java应用所使用的都是同一个版本的Java核心类库,他们之间是相互兼容的;

2.可以确保Java核心类库所提供的类不会被自定义的类所替代。假设我们自己定义了一个java.lang.Object,这个类是无法被加载到JVM中的,因为系统启动时,首先会由启动类加载器加载rt.jar包中的java.lang.Object,之后我们的类在被加载时会因为名字相同而被认为是已经加载过了,不会进行加载。  

3.不同的类加载器可以为相同名称(binary name)的类创建额外的命名空间,相同名称的类可以并存在Java虚拟机中,只需要用不同的类加载器来加载它们即可。不同的类加载器所加载的类是不兼容的,这相当于在JVM中创建了一个又一个相互隔离的Java类空间,这类技术在很多框架中都得到了实际应用(比如OSGI)

【JVM学习笔记】双亲委托机制存在的意义的更多相关文章

  1. jvm内存JVM学习笔记-引用(Reference)机制

    在写这篇文章之前,xxx已经写过了几篇关于改jvm内存主题的文章,想要了解的朋友可以去翻一下之前的文章 如果你还不了解JVM的基本概念和内存划分,请阅读JVM学习笔记-基础知识和JVM学习笔记-内存处 ...

  2. JVM学习笔记之类加载机制【八】

    一.类加载时机 1.1 触发类初始化的六个场景: 加载? 1.遇到new.getstatic.putstatic或invokestatic这四条字节码指令时 如果类型没有进行过初始化,则需要先触发其初 ...

  3. JVM学习笔记:虚拟机的类加载机制

    JVM类加载机制分两部分来总结: (1)类加载过程 (2)类加载器 一.JVM类加载过程 类的加载过程:加载 →连接(验证 → 准备 → 解析)→ 初始化. 类的生命周期:加载 →连接(验证 → 准备 ...

  4. java之jvm学习笔记六-十二(实践写自己的安全管理器)(jar包的代码认证和签名) (实践对jar包的代码签名) (策略文件)(策略和保护域) (访问控制器) (访问控制器的栈校验机制) (jvm基本结构)

    java之jvm学习笔记六(实践写自己的安全管理器) 安全管理器SecurityManager里设计的内容实在是非常的庞大,它的核心方法就是checkPerssiom这个方法里又调用 AccessCo ...

  5. JVM 学习笔记一 :JVM类加载机制

    前言: 最近在看JVM相关资料,这里记录下学习笔记,希望自己能坚持学完,打牢基础.   一.类加载过程 1,类从被加载到JVM中开始,到卸载为止,整个生命周期包括:加载.验证.准备.解析.初始化.使用 ...

  6. JVM学习笔记-第七章-虚拟机类加载机制

    JVM学习笔记-第七章-虚拟机类加载机制 7.1 概述 Java虚拟机描述类的数据从Class文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这个过程被 ...

  7. JVM 类加载器的双亲委托机制

    1.类加载器的层次结构 在双亲委托机制中,各个加载器按照父子关系形成了树形结构(逻辑意义),除了根加载器之外,其余的类加载器都有且只有一个父加载器. public class MyTest13 { p ...

  8. java之jvm学习笔记五(实践写自己的类装载器)

    java之jvm学习笔记五(实践写自己的类装载器) 课程源码:http://download.csdn.net/detail/yfqnihao/4866501 前面第三和第四节我们一直在强调一句话,类 ...

  9. java之jvm学习笔记二(类装载器的体系结构)

    java的class只在需要的时候才内转载入内存,并由java虚拟机的执行引擎来执行,而执行引擎从总的来说主要的执行方式分为四种, 第一种,一次性解释代码,也就是当字节码转载到内存后,每次需要都会重新 ...

随机推荐

  1. ora-01847:月份中日的值必须介于 1 和当月最后一日之间

    今天解决了一个奇葩问题: ORA-01847: 月份中日的值必须介于 1 和当月最后一日之间 将数据从一个视图倒入到一个同结构的表中,但是老报错,也就那么几个字段,肉眼真看不出来什么问题,但是既然报这 ...

  2. socket 测试工具java

    SocketTest.jar http://sockettest.sourceforge.net/

  3. 清北学堂dp图论营游记day5

    ysq主讲: tarjan缩点+拓扑+dij最短路. floyd..... 单源..最长路... 建正反两个图. 二分答案,把大于答案的边加入到新图中,如果能走过去到终点,就可以. 或者:从大到小加边 ...

  4. lVS/haproxy

    haproxy 安装配置   1. 下载及安装 wget http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.21.tar.gz tar zxvf h ...

  5. php类知识---try catch

    <?php try { echo "比赛开始"."\n"; ); } catch (Exception $e ) { echo "获取错误信息: ...

  6. 03 深入远程执行:target目标、模块modules、返回returns

    0.学习目的 http://docs.saltstack.cn/topics/execution/index.html  官方文档 0.1 命令解释 [root@host---- ~]# salt ' ...

  7. 题解 【NOIP2010】关押罪犯

    [NOIP2010]关押罪犯 Description S城现有两座监狱,一共关押着N名罪犯,编号分别为1~N.他们之间的关系自然也极不和谐.很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突 ...

  8. jquery bind()方法 语法

    jquery bind()方法 语法 作用:bind() 方法为被选元素添加一个或多个事件处理程序,并规定事件发生时运行的函数. 说明:规定向被选元素添加的一个或多个事件处理程序,以及当事件发生时运行 ...

  9. 字节转b kb mb gb 等

    /// <summary> /// 计算文件大小函数(保留两位小数),Size为字节大小 /// </summary> /// <param name="siz ...

  10. LibreOffice/Calc:取消单元格中的超链接

     造冰箱的大熊猫@cnblogs 2019/2/27 在LibreOffice Calc的表格中输入电子邮箱地址或者网址后,软件会自动将输入内容转换为超链接形式显示.在某些情况下这种自动转换并非用户所 ...