Java9模块化:新特性与变革
需积分: 9 23 浏览量
更新于2024-09-08
收藏 471KB DOCX 举报
"Java9新特性"
Java9作为Java语言的一个重要版本,引入了一系列创新特性,旨在提升平台的模块化、安全性、性能以及可维护性。以下是Java9的一些核心新特性:
1. **Java平台级模块系统 (Java Platform Module System, JPMS)**
- 模块化是Java9的一大亮点,它通过模块(JavaModule)对代码进行组织,每个模块都有明确的边界,可以控制对外部的依赖和暴露的包。模块描述器(module-info.java)定义了模块的依赖关系和暴露的包,增强了代码的封装性。
- 目标是减少JRE的体积,使得小型设备也能运行Java,同时提升安全性和性能,简化大型应用的开发和维护。
2. **模块的访问权限**
- 模块之间存在可读性(readability)的概念,意味着一个模块能否发现并加载另一个模块。只有具备可读性,才能进一步判断类型间的可访问性(Accessible),即能否实际使用另一个模块的类型。
3. **模块的间接引用 (Transitive)**
- 一个模块可以通过transitive依赖间接访问其他模块的类,这种特性有助于管理和控制模块间的依赖关系。
4. **类加载器的改变**
- 类加载器(ClassLoader)在Java9中仍然遵循原有的加载逻辑,但其查找类的能力受到模块系统的限制,只允许加载readable和accessible的类,提高了安全性。
5. **JLink**
- JLink是一个用于构建定制化运行时镜像的工具,它可以将特定的模块及其依赖打包在一起,生成轻量级的JRE,适合于特定的应用场景。
6. **Java版本更新字符串格式**
- 版本号采用$MAJOR.$MINOR.$SECURITY.$PATCH的格式,更清晰地标识了版本信息。
7. **JShell (Read-Eval-Print Loop, REPL)**
- JShell是Java9引入的命令行工具,用于快速测试和实验Java代码片段,提升了开发者的工作效率。
8. **改进的HTTP客户端**
- Java9引入了一个新的内置HTTP客户端API,提供了更现代、高效的HTTP通信能力。
9. **多版本兼容JAR (Multi-Release JARs)**
- 这一特性允许JAR文件包含针对不同Java版本的代码,使得库开发者可以利用新版本的特性,同时保持对旧版本的兼容。
10. **改进的Javadoc**
- Java9的Javadoc工具支持Markdown语法,使得文档注释更加灵活和易读。
这些新特性使得Java9成为了一个更加现代化、高效且易于维护的平台,为开发者提供了更好的工具和更强的功能,推动了Java生态系统的发展。
2018-01-19 上传
2018-03-20 上传
2018-08-08 上传
2018-03-31 上传
2018-03-30 上传
2018-10-16 上传
2023-07-12 上传
2019-06-28 上传
RebBlackTree
- 粉丝: 1
- 资源: 5
最新资源
- PureMVC AS3在Flash中的实践与演示:HelloFlash案例分析
- 掌握Makefile多目标编译与清理操作
- STM32-407芯片定时器控制与系统时钟管理
- 用Appwrite和React开发待办事项应用教程
- 利用深度强化学习开发股票交易代理策略
- 7小时快速入门HTML/CSS及JavaScript基础教程
- CentOS 7上通过Yum安装Percona Server 8.0.21教程
- C语言编程:锻炼计划设计与实现
- Python框架基准线创建与性能测试工具
- 6小时掌握JavaScript基础:深入解析与实例教程
- 专业技能工厂,培养数据科学家的摇篮
- 如何使用pg-dump创建PostgreSQL数据库备份
- 基于信任的移动人群感知招聘机制研究
- 掌握Hadoop:Linux下分布式数据平台的应用教程
- Vue购物中心开发与部署全流程指南
- 在Ubuntu环境下使用NDK-14编译libpng-1.6.40-android静态及动态库