-
内容大纲
本书从Java模块系统的设计动机和基本概念讲起,一直延伸至其高级特性,详尽介绍了模块系统的基本机制,以及如何创建、构建和运行模块化应用程序。本书还会帮助你将现有项目迁移到Java 9及以上版本,并逐步将之模块化。书中主要内容包括:从源代码到JAR来构建模块、迁移到模块化Java、解耦依赖以及改进API、处理反射和版本、自定义运行时镜像,等等。
本书适合有Java经验的开发者阅读。 -
作者介绍
-
目录
第一部分 你好,模块
第1章 第一块拼图
1.1 什么是模块化
1.1.1 用图将软件可视化
1.1.2 设计原则的影响
1.1.3 什么是模块化
1.2 Java 9之前的模块擦除
1.3 Java 9之前的问题
1.3.1 JAR之间未言明的依赖
1.3.2 同名类的覆盖
1.3.3 同一项目不同版本间的冲突
1.3.4 复杂的类加载
1.3.5 JAR的弱封装
1.3.6 手动安全检查
1.3.7 较差的启动性能
1.3.8 死板的Java运行时环境
1.4 鸟瞰模块系统
1.5 你的第一个模块
1.5.1 模块系统实战
1.5.2 非模块化项目基本不受影响
1.6 模块系统的目标
1.6.1 可靠配置:不放过一个JAR
1.6.2 强封装:控制模块内部代码的访问权限
1.6.3 自动化的安全性和改善的可维护性
1.6.4 改善的启动性能
1.6.5 可伸缩的Java平台
1.6.6 非目标
1.7 新旧技能
1.7.1 你将学到什么
1.7.2 你应该知道些什么
1.8 小结
第2章 模块化应用程序剖析
2.1 初识ServiceMonitor
2.2 模块化ServiceMonitor
2.3 将ServiceMonitor划分为模块
2.4 文件的目录结构布局
2.5 声明和模块描述
2.5.1 声明模块依赖
2.5.2 定义模块的公有API
2.5.3 用模块图可视化ServiceMonitor
2.6 编译和打包模块
2.7 运行ServiceMonitor
2.8 扩展模块化代码库
2.9 总结:模块系统的效果
2.9.1 模块系统能为你做什么
2.9.2 模块系统还能为你做些什么
2.9.3 允许可选依赖
2.10 小结
第3章 定义模块及其属性
3.1 模块:模块化应用程序的基石
3.1.1 随JDK发布的Java模块(JMOD)
3.1.2 模块化JAR:内生模块
3.1.3 模块声明:定义模块的属性
3.1.4 模块的众多类型
……
第4章 从源码到JAR构建模块
第5章 运行和调试模块化应用程序
第二部分 改写现实世界中的项目
第6章 迁移到Java 9及以上版本的兼容性挑战
第7章 在Java 9及以上版本中运行应用程序时会反复出现的挑战
第8章 增量模块化现有项目
第9章 迁移和模块化策略
第三部分 模块系统高级特性
第10章 用服务来解耦模块
第11章 完善依赖关系和API
第12章 模块化世界中的反射
第13章 模块版本:可能和不可能
第14章 通过jlink定制运行时镜像
第15章 完成拼图
附录A 类路径回顾
附录B 反射API的高级介绍
附录C 通过统一日志观察JVM
附录D 利用JDeps分析项目的依赖
附录E 通过多发行版JAR支持多个Java版本
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...