这是模块的模块声明java.rmi
:
module java.rmi {
requires java.base;
requires java.logging;
exports java.rmi.activation;
exports com.sun.rmi.rmid to java.base; // <-- cycle
...
}
因此,java.rmi
和之间存在循环依赖关系java.base
,对吗?平台模块之间是否允许循环?
模块系统禁止使用requires
子句静态声明循环。对于平台和应用程序模块,这是正确的,并且您给出的示例不违反该规则。
不过,Requires子句只是模块图中可读性优势的一种来源。其他是命令行标志,反射,,requires transitive
我敢肯定还有更多。添加所有这些可能会导致模块图中的循环,并且这是不被禁止的。
在您的具体示例中,仅当 java.base 读取 java.rmi 时才创建该循环,如果对 java.rmi中的
类使用反射会发生这种情况com.sun.rmi.rmid
。
我想知道我如何连接我的移动的flutter应用程序到运行在我的PC上的本地围棋服务器。 我的服务器正在http://192.168.29.45:4001上运行,但它没有连接到它。
我有两个相互链接的JSON模式:schema.task.JSON和schema.dependency.JSON: 我使用的是Visual Studio 2013,Update 5,模式http://json-schema.org/draft-04/schema 有人知道创建具有跨文件循环依赖关系的JSON模式的正确方法吗?
最近,我无意中编写了如下C代码: 仔细阅读代码,我发现了这个“错误”。然而,在运行时,它没有引起任何问题。明确地说,我的代码是用相对较新版本的MinGW-w64编译的,以创建本机Win32二进制文件。 当然,代码可以工作,但我很惊讶这是允许的,更奇怪的是,我的GCC-ish编译器没有抱怨它!(这个错误有GCC警告选项吗?) 有人能解释为什么这是允许的,以及为什么内部和外部变量不冲突/中断吗?理想情
我有一个正则表达式,允许一个大小写,一个小写,8-16个字符和大多数特殊字符,包括空间。我想在正则表达式中添加允许空间。 我曾经尝试过: > 正则表达式中的空格 Regex允许字母数字、空格和一些特殊字符 Java空间和换行正则表达式 我的正则表达式如下: 我只想在这里加一点空间。我试过和
我正在寻找一个,它可以防止特殊字符,并且只允许字母、数字、破折号(-)、下划线(_)和空格。 这个正则表达式工作得很好,但是它不允许单词之间有空格。 例如,如果输入,我得到我定义的自定义错误。我如何调整这个注册,除了字母,数字,破折号和下划线之外,还允许单词之间的空间。