深入探索Java 9:构建模块化应用

下载需积分: 0 | PDF格式 | 2.97MB | 更新于2024-07-18 | 196 浏览量 | 2 下载量 举报
收藏
"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开发者,都能从中受益。

相关推荐