这些状态中的每一个的文档如下:
已解析模块图中的模块。ResolvedModule定义了配置方法来获取已解析模块所在的配置。它定义了引用方法来获取对模块内容的引用。
表示运行时模块,命名或未命名。
问:- 这两者何时不同,是在编译和运行时,还是只是模块的不同表示?
另一方面,模块路径定义
编译时或运行时环境中内置的模块,以及由模块路径上的工件定义的模块,统称为可观察模块的宇宙。
问:- 所有这些都相关吗?有人可以举例说明如何以及在什么时间解释这个概念吗?
这些状态中的每一个的文档如下:
已解析模块图中的模块。ResolvedModule定义了配置方法来获取已解析模块所在的配置。它定义了引用方法来获取对模块内容的引用。
表示运行时模块,命名或未命名。
问:- 这两者何时不同,是在编译和运行时,还是只是模块的不同表示?
另一方面,模块路径定义
编译时或运行时环境中内置的模块,以及由模块路径上的工件定义的模块,统称为可观察模块的宇宙。
问:- 所有这些都相关吗?有人可以举例说明如何以及在什么时间解释这个概念吗?
如果您正在寻找描述这些特定类的使用的答案,我已经超出了我的深度,但这是这些术语在技术背景稍差的情况下的含义:
从指定分辨率的包描述开始,java.lang.module
您将了解可读性和可读性图表。
然后看Configuration
类作为一个Configuration对象封装了一个可读性图。图中的每个顶点都由 a 表示ResolvedModule
。
一旦有了配置,您就可以将其实例化为 Java 虚拟机中的模块图。这将引导您使用java.lang.ModuleLayer
API。
我认为问题的一部分是询问模型世界ResolvedModule
和运行时之间是否存在 1-1 关系Module
。通常是的,但是没有什么可以阻止您多次实例化配置,这将导致从同一配置创建多个模块层。
现在可能想的太多了,最好在去那里之前消化设计和API。