栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java 9中创建了多少个未命名的模块?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java 9中创建了多少个未命名的模块?

我是否正确理解,JPMS中始终只有一个未命名的模块?

简而言之

一般来说,没有。但是,让我们这样说:如果您将一些甚至所有JAR放在类路径上,而您的应用程序没有创建类加载器来加载任何其他内容,那么您只需要关心一个未命名的模块。

更详细

每个模块

ClassLoader
都有自己的未命名模块,用于表示从类路径加载的类。这是必需的,因为模块系统要求所有内容都在模块中。

正如nullpointer的答案详细解释的那样,默认情况下,应用程序将使用三个单独的类加载器。它可能会启动自己的类加载器,例如加载插件。但是,如果不这样做,所有应用程序代码将最终存储在系统/应用程序类加载器中,因此将存储在相同的未命名模块中。因此,通常只需要关心一个即可。

这是否意味着将在Java9之前开发且未针对Java9更新的应用程序将作为一个未命名的模块加载?

这与代码(应用程序,框架,库)是否以Java 9为目标无关-
它仅取决于放置JAR的路径是类路径还是模块路径。

如果它在类路径中,它将与其他类路径内容一起在未命名模块中结束。对于没有模块描述符的纯JAR,但对于包含一个的模块化JAR,都是如此。

如果在模块路径上,它将获得自己的模块。如果是模块化JAR,它将获得一个显式模块,如整个模块系统状态中所描述的那样-
普通JAR会变成自动模块(请注意复数:每个JAR一个自动模块)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/515191.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号