Java类加载双亲委派机制是什么

发布时间:2022-01-05 17:12:49 作者:iii
来源:亿速云 阅读:106

本篇内容介绍了“Java类加载双亲委派机制是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

预定义类加载器和双亲委派机制

  1. JVM预定义的三种类型类加载器:

    除了以上列举的三种类加载器,还有一种比较特殊的类型 — 线程上下文类加载器。

  2. 双亲委派机制描述 
    某个特定的类加载器在接到加载类的请求时,首先将加载任务委托给父类加载器,依次递归,如果父类加载器可以完成类加载任务,就成功返回;只有父类加载器无法完成此加载任务时,才自己去加载。

几点思考

  1. Java虚拟机的第一个类加载器是Bootstrap,这个加载器很特殊,它不是Java类,因此它不需要被别人加载,它嵌套在Java虚拟机内核里面,也就是JVM启动的时候Bootstrap就已经启动,它是用C++写的二进制代码(不是字节码),它可以去加载别的类。

    这也是我们在测试时为什么发现System.class.getClassLoader()结果为null的原因,这并不表示System这个类没有类加载器,而是它的加载器比较特殊,是BootstrapClassLoader,由于它不是Java类,因此获得它的引用肯定返回null。

  2. 委托机制具体含义 
    当Java虚拟机要加载一个类时,到底派出哪个类加载器去加载呢?

  3. 委托机制的意义 — 防止内存中出现多份同样的字节码 
    比如两个类A和类B都要加载System类:

一道面试题

“Java类加载双亲委派机制是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

推荐阅读:
  1. Java类加载机制和双亲委派是什么
  2. java类加载的双亲委派机制是什么

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java

上一篇:在MYSQL中怎么分库分表

下一篇:保证服务器分布式系统数据一致性的方法有哪些

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》