前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【面试题精讲】JVM-JDK9之后的类加载器

【面试题精讲】JVM-JDK9之后的类加载器

作者头像
程序员朱永胜
发布2023-10-28 10:30:43
2040
发布2023-10-28 10:30:43
举报
文章被收录于专栏:朱永胜的私房菜
alt
alt
alt
alt
alt
alt

特性

JDK 9+类加载器

JDK 8 及以前的类加载器

模块系统

引入了模块系统(Java Platform Module System)

没有模块系统

命名空间隔离

使用模块系统实现了命名空间隔离,不同模块的类无法直接互相访问

没有明确的命名空间隔离,所有类都在同一个全局命名空间中

直接字节码处理

引入了 JEP 238 (Multi-Release JAR Files)以及 JEP 261 (Module System)

不支持直接字节码处理

默认类加载器变更

采用了平台类加载器进行默认加载,将 Bootstrap 类加载器委派给平台类加载器

使用扩展类加载器和应用程序类加载器作为默认加载器

全量类加载器执行顺序变更

利用模块系统与类加载器实现了双亲委派的全量类加载器执行顺序变更

按照双亲委派模型执行全量类加载器

拓展类加载器与系统类加载器分离

拓展类加载器与系统类加载器分离,拓展类加载器只加载 JDK 本身的扩展模块

拓展类加载器与系统类加载器混合在一起

热替换(HotSwap)

引入了更先进的 HotSwap 实现,支持在运行时替换代码和重新定义类

HotSwap 功能有限,只能替换某些特定方法的实现

新的类加载器

引入了jimage类加载器和AppCDS类加载器

没有这些新的类加载器

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-10-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档