javax vs java package

2022-08-31 04:31:43

javax软件包背后的基本原理是什么?Java中有什么,javax中有什么?

我知道很多企业级软件包都在javax中,但是Swing,新的日期和时间api(JSR-310)和其他J2SE软件包也是如此。


答案 1

最初打算用于扩展,有时事情会被提升到java中。javaxjavax

一个问题是Netscape(可能还有IE)限制了java包中可能存在的类。

当Swing被设定为从那里“毕业”时,这是一个小型爆炸,因为人们意识到他们必须修改所有进口产品。鉴于向后兼容性是Java的主要目标之一,他们改变了主意。javajavax

在那个时候,至少对于社区(也许不是对于Sun来说),整个重点都消失了。所以现在我们在javax中有一些东西可能应该在...但是除了选择软件包名称的人之外,我不知道是否有人能根据具体情况弄清楚基本原理是什么。javaxjava


答案 2

我认为这是一个历史性的事情 - 如果一个软件包作为现有JRE的补充被引入,它就会作为.如果它最初是作为JRE的一部分引入的(我相信NIO就是这样),那么它就会作为.不知道为什么新的日期和时间API最终会遵循这个逻辑......除非它也将作为库单独提供,以使用早期版本(这将很有用)。多年后的注意:它(日期和时间API)实际上最终最终出现在java中。javaxjavajavax

我相信包上有限制 - 我认为类加载器被设置为允许从或类似的地方加载其中的类。(当然有一个签到。javajava.*rt.jarClassLoader.preDefineClass

编辑:虽然官方的解释(搜索orbfish建议在第一页左右没有产生一个)毫无疑问是关于“核心”与“扩展”的,但我仍然怀疑在许多情况下,任何特定软件包的决定背后也有历史原因。例如,Java真的是这个“核心”吗?java.beans


推荐