gpt4 book ai didi

java - 引导类加载器和扩展类加载器的职责可以合并吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:57:51 25 4
gpt4 key购买 nike

我想知道java中上述类加载器的职责是否可以合并? (不是用户/程序员,而是 JVM 开发人员)
Bootstrap 加载器从 jdk/jre/lib/* 加载类,扩展加载器从 jdk/jre/lib/ext/* 加载类,那么将它们组合起来有什么问题呢?
通过这样做,也可以节省一层委派。不是吗?

我知道它们之间的唯一区别是引导类加载器是用 native 语言实现的,而扩展类加载器是用 java 本身实现的
如果有必要将它们 fork ,请说明其背后的原因。

最佳答案

是的,没有技术原因导致 JVM 无法从引导类加载器加载 lib/ext 类。可能会有一些小的安全隐患(由引导类加载器加载的类被赋予额外的特权)和向后兼容性影响(一些高级应用程序假设存在额外的类加载器),但鉴于您需要修改 JRE 安装,我认为这些问题有点小。

Java 9 的 Modular Run-Time Images ( JEP 220 ) 特性提议移除扩展机制,但他们提议在层次结构中保留扩展类加载器以实现向后兼容。删除扩展机制是否会给实际应用程序带来太多问题,或者扩展类加载器是否会在后续版本中保留或删除,还有待观察。

关于java - 引导类加载器和扩展类加载器的职责可以合并吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32257286/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com