我看到Java 1.2也称为Java2。“ Java 1.x”和“ Java x”(例如“ Java 1.6”和“ Java 6”)是否引用相同版本的Java?
如果是,为什么需要这种双重性?
我看到Java 1.2也称为Java2。“ Java 1.x”和“ Java x”(例如“ Java 1.6”和“ Java 6”)是否引用相同版本的Java?
如果是,为什么需要这种双重性?
Answers:
Sun Microsystems当时有一个坏习惯,那就是对其产品进行多次命名更改,并首先使用易混淆的名称开头。
最初,术语“ Java”被用来不加区别地描述:
关于版本号,正如其他人指出的那样,部分是由于市场营销,部分是因为他们只是觉得Java取得了如此进展,因此主要版本升级更适合(适用于Java 1.2 / Java 2,以及Java 1.5 / Java)。 5)。
因此,我们所谓的Java 2实际上是Java 1.2至1.4。Java 3和Java 4从来都不存在,我们直接跳到Java 5,因为它们试图在此处进行解释(来自有关命名和版本控制的页面)。
我也可能不对他们在跟踪和开发系统中使用的内部编号感到困惑。我倾向于认为它是1.x =语言版本,X =语言和产品版本。这是有道理的,因为普通用户无需担心较小的增量和更新,因为他们鼓励自动更新,因此这些更新不应对语言或字节码造成任何变化。
另请注意,当您查看次要版本和更新编号时,它会变得很奇怪。例如,我们有一个Java 1.3.1,然后是Java 1.4.1和1.4.2。
但是,此后再也没有1.xy了,它始终是1.x.0_UPDATE:
还要注意,您还将看到使用以下两种命名约定引用的更新:
为了进一步避免混乱并保持Sun Microsystems的传统,Oracle现在发布了这样的公告。
还请注意,他们不仅养成了更改编号的习惯,而且还养成了产品名称。因此,Java 2具有J2SE(Java 2标准版),J2EE(Java 2企业版)和J2ME(Java 2移动版)。自从Java 5引入以来,这些约定和首字母缩略语已被放弃(尽管有些约定和首字母缩写具有难以置信的长,主要是由于愚蠢的招聘机构不知道他们在说什么),而支持Java SE,Java EE和Java ME ,有时是JSE,JEE(相当常见)和JME的缩写,但不应正式使用。
您可以阅读此页面以获取有关Sun Microsystems和Java(自Java 1.3.1以来)使用的当前版本控制系统的更多信息。
(要获得加分,请尝试立即查找NetBeans的历史记录,以查看它是否也被重命名了几次)。
他们还在努力决定是否应该向后更新现有参考。例如,关于旧版本的页面使用旧版本的旧版本编号系统,但是较新的产品名称(Java SE 1.1、1.2、1.3和1.4并未使用此命名约定发布)。
也许他们只是和我们一起玩耍。谁知道?
当然,他们也在那里进行命名和编号很有趣。
在Java语言规范习惯用书“版”版本SYSTE发布,,以下的产品编号。所以:
到现在为止还挺好。
除了后来仅在Java 5中引入语言更改时才重新编辑“ Java语言规范”(这很有意义,您不会仅仅为了娱乐而出版新书版)。由于这是他们第三次进行编辑,因此将其称为(tada!)“ Java语言规范,第三版”。
但是显然,人们然后开始怀疑为什么1.3和1.4没有语言规范,或者为什么Java 5与语言规范的第三版匹配。
因此,Java 7现在只是将其称为“ Java SE 7版Java语言规范”,尽管我们经常将其简称为JLS7,以避开RSI。
为了获得更多乐趣,请查看Microsoft Windows RT的命名失败,或者Apple对iPhone,iPad甚至iPod的命名和编号疯狂。
简短的答案:市场营销。
一个比较长的答案:简称(例如Java 6)是所谓的“产品版本”,是向用户和新闻稿等推销Java的方式。
较长的形式(例如Java 1.6.0)是“开发人员版本”。它在内部使用,并且Java开发人员也会遇到(例如,java.version
system属性使用长格式)。
有关更多信息,请参见以下页面:
因为标题为“ Learn Shiny New Java 3”的书将比标题为“ Java 1.3的新功能”的书早售罄。
是的,这主要是营销原因。另一方面,我在这里看不到严重犯罪。毕竟,在某些产品(例如Mozilla或Chrome)中,主要内部版本号会不断增加,而其他产品则坚持增加次要内部版本号,尽管有时候,每个新版本都会带来很大的变化。
某些人(例如Apple)不想让我们这些用户使用“ Mac OS 10.6”之类的沉闷名称。
Sun过去通常使用N别名,而不是引入“ Java Green Diplodocus”发行版。
TheServerSide解释了从“ Java 1.x”到“ Java x”的更改,如下所示:
太阳已经切断了“ 1”。将J2SE 1.5.0更改为J2SE 5.0。更改的原因?Sun声称“这是自从Java平台和编程语言在将近十年前发布以来最重要的升级”,并且此版本值得。
显然有人在讨论将其重命名为“ J5SE”,但有人认为J2EE品牌意味着太多改变。
版本号不是很有趣吗?
注意上面引用中的链接被Oracle杀死。据我所知,它可以在prnewswire上找到:
Java技术的创建者和领先者Sun Microsystems,Inc.(Nasdaq:SUNW)今天推出了Java 2 Platform
Standard Edition(J2SE™)5.0,这是自Java
平台和编程语言以来最重要的升级。它的最初发行将近十年
前。这个经过更新的Java平台被称为Project Tiger,它提供了极大
的开发简便性,新的应用程序监视和管理功能,
专注于为PC桌面提供丰富的客户端支持以及创纪录的
性能...
为了完整性,请注意1.X版本样式尚未完全删除。
开发人员使用的“版本1.5.0”
J2SE还将版本号1.5.0(或1.5)保留在仅对开发人员可见的某些地方,或者在程序解析该版本号的地方。如前所述,1.5.0指的是完全相同的平台和编号为5.0的产品。
还要注意,正如注释中所指出的,以上使用的术语“ J2SE”后来已更改为“ Java SE”。