浅谈JAVA版本号的问题 Java版本号与JDk版本
初学Java时便一直疑惑Java版本号到底是如何命名的?时常在网上看到Java5、Java6、Java7、Java8(到今天已经到了Java12了,2019.4.5)这一类“JavaX”的Java版本名称,同时又会看到诸如JDK1.5、JDK1.6这中“JDK1.X”的JDK叫法。
一直以来都在纠结Java以及JDK的规范版本名称到底是如何,直到最近在几本书上看到了相关的解释才有点明白,
现总结在这里:
首先1996年发布了最初版本Java1.0(此前原型为1995年的Oak,因Oak商标已被占用后改名为Java),此后为Java1.1、J2SE1.2、J2SE1.3、J2SE1.4、采用1.X的命名方式,直到2004年的JavaOne会议后版本数提升为5.0,这一新版本为JavaSE5.0(或J2SE5.0,此处存在疑问,网上使用较多为JavaSE5),在2006年Sun公司终结了已经有8年历史的J2SE、J2EE、J2ME的命名方式启用了今天的JavaSE、JavaEE、JavaME命名方式,而此后的版本为JavaSE6、JavaSE7、JavaSE8、JavaSE9、JavaSE10、JavaSE11、JavaSE12。
而JDK则在Java1.0到Java9对应每一个版本号:JDK1.0、JDK1.2...JDK1.8、JDK1.9,Java10以后JDK对应名称为:JDk10、JDK11、JDK12。
时间线如下:
下图来自《Java核心技术》卷1第2章2.1.1
你已经看到,JDK是JavaDevelopmentKit的缩写。
有点混乱的是:这个工具包的版本1.2~版本1.4被称为JavaSDK(软件开发包,SoftwareDevelopmentKit)。在某些场合下,还可以看到这个过时的术语。
另外,还有一个术语是Java运行时环境(JRE),它包含虚拟机但不包含编译器。这并不是开发者想要的环境,而是专门为不需要编译器的用户而提供。
接下来,JavaSE会大量出现,相对于JavaEE(EnterpriseEdition)和JavaME(MicroEdition),它是Java的标准版。
Java2这种提法始于1998年。当时Sim公司的销售人员感觉增加小数点后面的数值改变版本号并没有反映出JDK1.2的重大改进。但是,由于在发布之后才意识到这个问题,所以决定开发工具包的版本号仍然沿用1.2,接下来的版本是1.3、1.4和5.0,但是,Java平台被重新命名为Java2。
因此,就有了Java2StandardEditionSoftwareDevelopmentKit(Java2标准版软件开发包)的5.0版,即J2SESDK5.0。
幸运的是,2006年版本号得到简化。Java标准版的下一个版本取名为JavaSE6,后来又有了JavaSE7和JavaSE8。
不过,“-内部”版本号分别是1.6.0、1.7.0和1.8.0。
当Oracle为解决一些紧急问题做出某些微小的版本改变时,将其称为更新。
例如:JavaSE8u31是JavaSE8的第31次更新,它的内部版本号是1.8.0_31。更新不需要安装在前一个版本上,它会包含整个JDK的最新版本。
另外,并不是所有更新都公开发布,所以如果“更新31”之后没有“更新32”,你也不用惊慌。
----引自《Java核心技术》卷1第2章2.1.1
补充知识:JDK版本号对应的数字
如下所示:
J2SE8=52(0x34hex) J2SE7=51(0x33hex) J2SE6.0=50(0x32hex) J2SE5.0=49(0x31hex) JDK1.4=48(0x30hex) JDK1.3=47(0x2Fhex) JDK1.2=46(0x2Ehex) JDK1.1=45(0x2Dhex)
以上这篇浅谈JAVA版本号的问题Java版本号与JDk版本就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。