Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java模块词汇表_Java_Java 9_Java Module - Fatal编程技术网

Java模块词汇表

Java模块词汇表,java,java-9,java-module,Java,Java 9,Java Module,Java模块规范中使用的所有这些术语之间有什么区别?我找不到一个不循环引用的术语定义 可见的 可观察 可接近 规范中有这样的表述,但我还没有弄明白这些词的真正含义: 具体来说,主机系统必须限制普通编译 只有那些 对M可见 (第7.3节第183页)java.util.Observable与模块系统无关 在JLS中,层次结构自下而上,如下所示: 1.可观察的:编译器知道的编译单元的总和。 2.可见:当前正在编译代码的模块读取的那些模块中的所有编译单元。每个模块读取的内容由指令驱动。可见性驱动范围

Java模块规范中使用的所有这些术语之间有什么区别?我找不到一个不循环引用的术语定义

  • 可见的
  • 可观察
  • 可接近
规范中有这样的表述,但我还没有弄明白这些词的真正含义:

具体来说,主机系统必须限制普通编译 只有那些 对M可见


(第7.3节第183页)

java.util.Observable与模块系统无关

在JLS中,层次结构自下而上,如下所示: 1.可观察的:编译器知道的编译单元的总和。 2.可见:当前正在编译代码的模块读取的那些模块中的所有编译单元。每个模块读取的内容由
指令驱动。可见性驱动范围内的包和类型,并影响可访问性。

3.可访问:只要第一个模块中的包对另一个模块可见,则这些包中由一个模块导出到另一个模块的公共类型。

首先,在JLS术语中,如可见性,应用于编译单元、包或类型时可能具有不同的含义

JLS中定义术语的一些参考:

  • 可观察到的

    • 编译单元:,以“主机系统确定哪些编译单元是可观察的”开头的句子

    • 包装:,第一段

    • 直觉:参与编译的元素

  • 可见

    • 编译单元:,以“对M可见的普通编译单元”开头的句子-注意,可见性是相对于模块定义的

    • Package:,句首“包对模块M可见”-同样相对于模块

    • 直觉:从给定模块的角度可以观察到的元素,考虑到
      需要
      导出

  • 可访问

    • 一般定义:
此外,自JLS 9以来的核心新概念是“唯一可见””(),加上术语“潜在可访问”、“读取”/“读取者”、“关联”。从历史上看,JLS 9进一步区分了“技术上可观察”和“真正可观察”,这一点在JLS 11时已被删除

此外,在历史上(直到JLS 8),阴影()的定义中使用了“可见”,但在JLS 9中已经取消了这种使用

最后请注意,其中一些概念(显式或隐式)从
java.lang.module
中的API中引入定义


我建议把这些术语看作是技术术语,而不是为了吸引更广泛的受众的直觉,部分是因为JLS中的许多定义都是关于“编译单元”的,这对于直觉理解来说是不必要的。有关可能的直观理解与基于JLS的理解的比较,请参见的幻灯片#20。

您可以链接您在哪里找到此内容吗?我猜您是非母语人士?只需翻译你的语言中的单词,因为它们只是在一般情况下使用英语时的意思。它们不是技术术语。例如:可见意味着你实际上能够看到它。我是母语为英语的人。“可见”和“可观察”是同义词。您能否给出一个Java模块系统中可以“看到”但不能“观察”的示例?或者反之亦然?哦,好的。对不起,我只是觉得可能是这样:-)。可观察的例子在这里得到最好的解释:可见的例子用访问修饰符得到最好的解释: