深入探索Java 9:构建模块化应用
下载需积分: 0 | PDF格式 | 2.97MB |
更新于2024-07-18
| 196 浏览量 | 举报
"Apress.Exploring.Java9 - 探索Java 9,构建模块化应用程序"
本书《Exploring Java 9》由 Fu Cheng 撰写,专注于介绍Java 9中的新特性和变化,特别是模块系统(JPMS或Project Jigsaw)。它涵盖了整个Java应用开发的生命周期,帮助读者理解和掌握构建模块化应用程序的关键概念。
1. **Java 9 模块系统 (Project Jigsaw)**
- **模块化**:Java 9引入了模块化系统,目的是解决大型项目中的依赖管理和提升性能。模块化使得Java平台和应用程序更加可维护、可扩展,并提高了安全性和性能。
- **模块描述符 (Module Descriptor)**:每个模块都有一个模块描述符,即`module-info.java`文件,用于声明模块的名称、依赖和其他模块化信息。
- **命名模块 (Named Module)**:明确声明并导出其API的模块,它们在`module-info.java`文件中定义。
- **无名模块 (Unnamed Module)**:没有明确模块化,未声明模块描述符的类路径中的类库。
- **自动模块 (Automatic Module)**:如果JAR文件没有模块描述符,但需要被其他模块引用,Java 9会尝试将其识别为自动模块,并基于JAR文件的名称来提供模块化信息。
2. **模块化对开发的影响**
- **封装性增强**:模块可以控制其API的暴露,防止不必要的依赖,增强了代码的封装性。
- **启动性能提升**:只加载需要的模块,减少了启动时间和内存占用。
- **更佳的工具支持**:模块化改善了编译器、打包工具和JVM对依赖关系的处理。
3. **Java 9的其他新特性**
- **JShell (REPL)**:Java 9引入了一个命令行工具JShell,用于快速测试代码片段,提高了开发效率。
- **多版本JAR**:允许在同一应用中同时使用不同版本的库,解决了版本冲突问题。
- **HTTP/2客户端**:内置的`java.net.http`包提供了对HTTP/2协议的支持,简化了网络编程。
- **改进的集合框架**:包括新的`Stream API`增强和`Optional`类的改进,提供了更好的函数式编程支持。
- **进程API增强**:提供更强大的本地进程管理能力。
4. **开发和部署**
- **命令行工具**:书中还涵盖了使用新的命令行工具进行模块化构建、打包和部署的方法。
- **兼容性**:Java 9与Java 8有良好的向后兼容性,但也需要注意一些可能的迁移问题。
通过本书,开发者不仅可以学习到Java 9的新特性,还能了解如何将这些特性应用到实际项目中,实现更高效、更模块化的Java应用开发。无论是新手还是经验丰富的Java开发者,都能从中受益。
相关推荐
u010222066
- 粉丝: 0
- 资源: 37