当前位置: 首页 > 面试题库 >

模块声明中的require和require静态有什么区别

彭正谊
2023-03-14
问题内容

模块声明中的 require require静态 模块语句之间有什么区别?

例如:

module bar {
    requires java.compiler;
    requires static java.base;
}

问题答案:

一条requires子句表示在编译和运行时需要所需的模块。因此,当模块系统在模块解析(处理模块描述符和解决依赖关系的阶段)期间遇到此类子句时,它将搜索可观察模块(JDK和模块路径中的模块)的范围,并引发错误如果找不到模块。

一个requires static从句表示的依赖是在运行时可选。这意味着在编译时,模块系统的行为完全如上所述。

另一方面,在运行时,它主要忽略requires static子句。如果遇到一个,它将 无法解决
。这意味着,如果仅使用引用可观察模块requires static,则不会将其纳入模块图中!起初这可能有点令人惊讶。另一方面,如果模块以其他方式将其放入图形中(由其他模块要求,通过服务绑定手动添加--add- modules,通过服务绑定来添加),则对它具有可选依赖关系的所有模块都可以读取该图。



 类似资料:
  • 问题内容: 这两个语句似乎以相同的方式工作: 它们之间有区别吗? 问题答案: 答案是: Node.JS会查看给定的模块是否为核心模块。(例如,等),始终在加载模块中优先。 如果给定的模块不是核心模块(例如,等),则Node.js将开始搜索名为的目录 。 它将从当前目录(相对于Node.JS中当前执行的文件)开始,然后沿文件夹层次结构向上移动,并检查node_modules文件夹的每个级别。一旦No

  • 本文向大家介绍require和import有什么区别?相关面试题,主要包含被问及require和import有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 1.CommonJS 还是 ES6 Module 输出都可以看成是一个具备多个属性或者方法的对象;default 是 ES6 Module 所独有的关键字 2.export default fs 输出默认的接口对象,import fs

  • 问题内容: 我知道PHP的基本用法要求,需要一次,包含一次和包含一次。但是我对何时使用它们感到困惑。 示例:我有3个文件,例如:settings.php,database.php和index.php。 在database.php文件中,我写道: 然后在index.php中,我写道: 所以我两次加载settings.php,可以吗?有使用这些功能的提示吗? 问题答案: 包含一个文件,如果找不到该文件

  • 函数名称:加载模块 函数名称:加载模块 函数方法 bool = require(modle) 参数 类型 必填 说明 modle string 是 需要加载的模块名称 返回值 说明 bool 模块返回值 函数用例 --加载 lua 文件 --如果要加载 ceshi.lua 文件代码如下 require("ceshi") 注意事项 加载文件和被加载文件存放在相同脚本文件夹下才能调用成功,否则会提示

  • 问题内容: 它们之间有什么区别吗?是否优先使用它们?将一个使用在另一个上是否有任何优势?哪种安全性更好? 问题答案: 您可以在以下页面的详细PHP手册中找到差异: 等同 于失败,也会产生致命的 错误。换句话说,它将停止脚本,而include仅发出警告( ),该警告允许脚本继续运行。

  • 问题内容: 单例与仅填充静态字段的类有何不同? 问题答案: 几乎每次我编写静态类时,我最终都希望自己将其实现为非静态类。考虑: 可以扩展非静态类。多态可以节省很多重复。 非静态类可以实现接口,当您要将实现与API分开时,该接口会派上用场。 由于这两点,非静态类使编写依赖它们的项目的更可靠的单元测试成为可能。 但是,单例模式距离静态类仅半步之遥。你_那种_得到这些好处,但如果你是直接与其它类中通过`