首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sun的Java包命名约定:sun与com.sun

sun的Java包命名约定:sun与com.sun
EN

Stack Overflow用户
提问于 2009-08-26 00:32:11
回答 3查看 7K关注 0票数 9

在JRE中,sun的内部包带有两个顶级域(sun和com)作为前缀。例如,

代码语言:javascript
复制
com.sun.security.jgss
sun.security.jgss

在我看来,他们选择哪个前缀是相当随机的。我很好奇Sun在这方面使用了什么规则。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-08-26 00:37:08

"com.sun“约定是更可取的格式,因为它遵循为命名Java包而建立的”命名约定“。

http://java.sun.com/docs/codeconv/html/CodeConventions.doc8.html

您应该使用唯一的公司或个人网站URL作为包中的前几个单词,以保证名称空间中的唯一性。以"sun“开头的那些可能并不打算暴露在外部世界。

票数 7
EN

Stack Overflow用户

发布于 2009-08-26 09:09:36

不是这个问题的答案,但请注意,您不应该在程序中直接使用'sun‘或'com.sun’包。

请参阅Why Developers Should Not Write Programs That Call 'sun' Packages

这些包不是标准Java库的公共API的一部分,使用它们可能会使您的程序与未来的Java版本或Sun实现之外的Java实现不兼容(还有其他供应商的几个实现,包括Apple、IBM和HP)。

票数 10
EN

Stack Overflow用户

发布于 2009-08-26 01:44:37

如果你看一眼compatibility document for Java 5,你会注意到还有其他原因:

Apache - org.apache类,从来没有被J2SE API支持,但被javax.xml包使用,已经在5.0中迁移到**com.sun.**org.apache.package.internal,这样它们就不会与较新的、开发人员下载的类版本发生冲突。

任何依赖作为J2SE版本一部分的org.apache类的应用程序都必须执行以下操作之一才能在5.0中工作:

*对应用程序进行编码,以便它只使用JAXP中支持的接口。

*从Apache.下载org.apache.xalan类

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1331762

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档