Java模块系统自Java 9开始引入,旨在提供更强大的封装机制、清晰的依赖关系定义以及可靠的配置。Java平台本身也被模块化了,提供了多个核心模块以及其他用于支持不同功能的模块。以下是一些重要的Java标准模块:
- java.base - 这是最基础的模块,包含了Java语言的核心库,如基本的包 java.lang, java.util, java.io,
- java.nio, java.math, java.text 等。所有其他模块都直接或间接地依赖于这个模块。
- java.compiler - 提供对JDK编译工具的访问接口,主要用于支持动态代码编译。
- java.datatransfer - 支持剪贴板和数据传输功能。
- java.desktop - 包含构建桌面应用程序所需的类,包括AWT, Swing, Java 2D等。
- java.instrument - 提供用于检测Java编程语言代码的代理工具接口。
- java.logging - 定义了Java平台的标准日志API。
- java.management - 提供管理接口以监控和管理应用、JVM或系统。
- java.naming - 提供实现命名服务的类和接口,例如LDAP。
- java.prefs - 提供一个持久化的机制来存储和检索用户及系统的偏好设置。
- java.rmi - 支持远程方法调用(RMI),允许对象在不同的Java虚拟机上进行交互。
- java.scripting - 提供脚本引擎和相关API,使程序能够嵌入脚本语言。
- java.se - 是一个聚合模块,它包含了构成标准Java SE环境的所有模块。
- java.security.* - 包括几个子模块,如java.security.sasl, java.security.jgss等,用于安全相关的操作和服务。
- java.sql 和 javax.sql - 提供用于与数据库通信的API,支持JDBC(Java Database Connectivity)。
- java.xml.* - 包括处理XML的各种模块,如java.xml, java.xml.crypto, java.xml.bind等。
这些只是Java平台提供的部分模块。此外,还有许多其他模块用于特定的功能和需求。随着Java版本的更新,也会不断有新的模块加入或者现有模块得到增强。通过使用模块系统,开发者可以创建更加模块化、可维护的应用程序,并能更好地控制哪些组件是公开的,哪些是内部使用的。