Java com.* package namespace
2022-08-31 13:02:49
经常会看到 com.* 包命名空间。“com”是什么意思?谢谢。
包的命名约定在 JLS 中指定。以下是相关代码段(本节中还有更多内容):
通过首先拥有(或属于具有 Internet 域名的组织,例如 .)形成唯一的包名称。然后,逐个组件地反转此名称,以获取(在此示例中),并使用组织内开发的约定来进一步管理包名称,并将其用作包名称的前缀。
sun.com
com.sun
Sun 代码约定文档的命名约定部分也给出了它:
软件包:唯一软件包名称的前缀始终以全小写 ASCII 字母书写,并且应为顶级域名之一,当前 、、、、、或 ISO 标准 3166、1981 中指定的标识国家/地区的英文双字母代码之一。
com
edu
gov
mil
net
org
包名称的后续组件根据组织自己的内部命名约定而有所不同。此类约定可能指定某些目录名称组件为部门、部门、项目、计算机或登录名。
示例:、 、
com.sun.eng
com.apple.quicktime.v2
edu.cmu.cs.bovik.cheese
因此,软件包名称中的前缀与域名中的.com
后缀相同:“commercial”。com.
在创建 Java 时,Sun 建立了一个约定,即包名称应从创建包的公司或个人的反向域名开始构造。由于DNS保证域名是唯一的(即仅提供给一个组织或个人),因此可以避免重复。
所以微软的Java软件包的名字以、Sun开头等等。com.microsoft
com.sun