Java 模块系统(Java Platform Module System,JPMS,自 Java 9 引入,常称为 Project Jigsaw)相比传统的 classpath 机制,有以下主要优势:
module-info.java 中 显式导出的包(exports) 才能被其他模块访问com.xxx.internal)默认不可见✅ 示例:
module com.example.service {
exports com.example.service.api;
// com.example.service.internal 对外不可见
}
module com.example.app {
requires com.example.service;
}
jlink 创建 定制化 JVMjlink --module-path mods --add-modules com.example.app --output myjre
rt.jarjava.base)| 特性 | classpath | Java 模块 |
|---|---|---|
| 可见性控制 | ❌ | ✅ |
| 依赖清晰 | ❌ | ✅ |
| 启动可靠 | 中 | 高 |
| 可裁剪性 | ❌ | ✅ |
| 适合大型系统 | 一般 | 优秀 |
✅ 大型系统
✅ 框架 / 中间件
✅ 微服务
✅ 云原生 / 容器
❌ 极简单工具类项目(收益有限)
如果你愿意,我也可以:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。