JAVA版本号的问题——Java版本号与Jdk版本

article/2025/9/22 13:52:47

初学Java时便一直疑惑Java版本号到底是如何命名的?时常在网上看到Java5、Java6、Java7、Java8 (到今天已经到了Java12了,2019.4.5) 这一类 “Java X” 的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,这一新版本为Java SE5.0(或J2SE5.0,此处存在疑问,网上使用较多为Java SE5),在2006年Sun公司终结了已经有8年历史的J2SE、J2EE、J2ME的命名方式启用了今天的 Java SE、Java EE、Java ME  命名方式,而此后的版本为Java SE6、Java SE7、Java SE8、Java SE9、Java SE10、Java SE11、Java SE12。

而JDK则在 Java1.0 到 Java9 对应每一个版本号 :JDK1.0、JDK1.2 ... JDK1.8、JDK1.9,Java10以后JDK对应名称为:JDK10、JDK11、JDK12。

时间线如下:

下图来自《Java核心技术》卷1 第2章 2.1.1

 

    你已经看到, JDK 是 Java Development Kit 的缩写。有点混乱的是: 这个工具包的版本1.2 ~ 版本 1.4 被称为 Java SDK (软件开发包, Software Development Kit )。 在某些场合下,还可以看到这个过时的术语。另外, 还有一个术语是 Java 运行时环境( JRE ), 它包含虚拟机,但不包含编译器。这并不是开发者想要的环境, 而是专门为不需要编译器的用户而提供。接下来, Java SE 会大量出现, 相对于 Java EE ( Enterprise Edition) 和 Java ME ( MicroEdition ), 它是 Java 的标准版。
    Java 2 这种提法始于 1998 年。当时 Sun 公司的销售人员感觉增加小数点后面的数值改变版本号并没有反映出 JDK 1.2 的重大改进。但是,由于在发布之后才意识到这个问题, 所以决定开发工具包的版本号仍然沿用 1.2, 接下来的版本是 1.3、 1.4 和 5.0, 但是, Java 平台被重新命名为 Java 2。因此, 就有了 Java 2 Standard Edition Software Development Kit ( Java 2 标准版软件开发包)的1.2版,即 J2SE SDK 1.2。
    幸运的是,2006 年版本号得到简化。 Java 标准版的下一个版本取名为 Java SE 6, 后来又有了 Java SE 7 和 Java SE 8。不过,“- 内部” 版本号分别是 1.6.0、 1.7.0 和 1.8.0。当 Oracle 为解决一些紧急问题做出某些微小的版本改变时, 将其称为更新。 例如: Java SE 8u31 是 JavaSE 8 的第 31 次更新, 它的内部版本号是 1.8.0_31。 更新不需要安装在前一个版本上,它会包含整个 JDK 的最新版本。 另外, 并不是所有更新都公开发布, 所以如果“ 更新 31” 之后没有“ 更新 32”,你也不用惊慌。
 
----引自《Java核心技术》卷1 第2章 2.1.1


http://chatgpt.dhexx.cn/article/FIbbXuFh.shtml

相关文章

Java各个版本区别

参考资料 一文彻底搞懂令人疑惑的Java和JDK的版本命名! Java–Java版本和JDK版本 1. Java SE、java EE、Java ME三个版本 1.1 Java SE(Java Platform,Standard Edition)Java标准版 Java SE 是做电脑上运行的软件。 Java se 以前…

Java各版本比较(Java SE、java EE、Java ME)

文章目录 1. 概述2. 版本比较2.1 Java SE、java EE、Java ME2.2 JDK、J2SE、Java SE2.3 JDK、JRE、Java SE API2.4 JDK、JRE、JRE、JIT2.5 Java ME、Java SE、Java EE、Java Card 来源 1. 概述 java是作为长时间流行的语言,在这过程中出现了很多版本,各…

Java--Java版本和JDK版本

对于Java初学者,经常会听到同事,或看到网上Java版本和JDK版本不一的叫法,不明白这两者到底什么关系?其实博主当年初学Java时也有这样的困惑,今天我们就来好好探讨一下,如有不对之处,请加以指正&…

【SpringBoot整合缓存】-----Redis缓存篇

本专栏将从基础开始,循序渐进,以实战为线索,逐步深入SpringBoot相关知识相关知识,打造完整的SpringBoot学习步骤,提升工程化编码能力和思维能力,写出高质量代码。希望大家都能够从中有所收获,也…

SpringBoot 开启Redis缓存

文章目录 Redis缓存主要步骤具体实践整体目录结构pom.xml添加依赖yml文件里配置Redis集群编写RedisConfig配置序列化及缓存配置,添加缓存注解编写业务Controller编写启动类 检验结果 之前不是说过Redis可以当作缓存用嘛 现在我们就配置一下SpringBoot使用Redis的缓存…

Windows下清理redis缓存

Windows下清理某个redis库的所有数据 1、找到redis的安装目录 2、找到redis-cli.exe,双击运行 3、登录redis:输入命令:auth 密码 4、登录成功:当前默认为数据库0 5、切换数据库:select 1/2/3(切换数据库为…

redis缓存穿透

ps:想只读有效信息,见红字 正常情况 当在高并发,高性能,降低数据库压力的情况下,首先会选择redis作为缓存机制,当有大量请求需要查询数据库时,为了降低数据库的压力,并提高请求查询性能&#…

linux下清理redis缓存

输入命令,连接到redis 服务端 redis-cli -h 127.0.0.1 -p 6379#不用切换到redis的bin下面, 是因为安装redis 时已经配置了系统变量验证登录密码, auth 你的redis密码 开始清理缓存,清理命令如下 指定redis片区: selec…

redis缓存命中率

登录redis服务器 输入 redis-cli 链接到redis之后,输入info 则会打印 通过计算hits和miss,我们可以得到缓存的命中率:111207/ (111207 50181) 68.9% ,一个缓存失效机制,和过期时间设计良好的系统,命中率…

命令行清除Redis缓存

一、打开命令行窗口 打开Redis安装目录下的《 redis-li.exe 》。 二、授权 在打开的命令行里直接操作会提示没有权限,需要先使用auth命令授权,使用方法如下。 auth ‘这里是Redis密码’ 三、清除缓存 清除缓存有两种方式:清除数据库缓存、清…

Redis缓存预热

概述 在秒杀开始前通常要进行将数据加载到缓存中,也叫缓存预热 demo Redis序列化配置,通常有两种方式,通过配置类进行序列化配置, Configuration public class RedisConfig {Autowiredprivate RedisConnectionFactory factory…

redis缓存失效问题

什么是缓存穿透?什么是缓存击穿?什么是缓存雪崩? 一个正常的访问流程: 1.缓存雪崩:redis缓存key同一时间大量失效,导致大量请求全部打到数据库,造成数据库挂掉。 如图: 缓存雪崩…

Redis缓存雪崩及解决办法

缓存雪崩 1.缓存雪崩是指在同- -时段大量的缓存key同时失效或者Redis服务宕机,导致大量请求到 达数据库,带来巨大压力。 2.解决方案: ◆给不同的Key的TTL添加随机值 ◆利用Redis集群提高服务的可用性 ◆给缓存业务添加降级限流策略 降级可做为系统的保底…

Redis缓存注解

本篇博客将详细讲解Cacheable,CachePut , CacheEvict使用,希望对大家有所帮助。 1、Cacheable 作用是主要针对方法配置,能够根据方法的请求参数对其结果进行缓存 参数解释examplevalue缓存的名称,在 spring 配置文件中定义,必…

Redis缓存的工作机制

Redis:缓存的工作机制 Redis缓存的工作机制缓存的特征Redis缓存处理请求Redis作为旁路缓存Redis中缓存的类型只读缓存读写缓存 参考文献 Redis缓存的工作机制 Redis具有高性能的数据存取特性,广泛的应用于缓存场景,在提升业务应用响应速度的同时&#xf…

Redis缓存击穿,缓存穿透,缓存雪崩,附解决方案

前言 在日常的项目中,缓存的使用场景是比较多的。缓存是分布式系统中的重要组件,主要解决在高并发、大数据场景下,热点数据访问的性能问题,提高性能的数据快速访问。本文以Redis作为缓存时,针对常见的缓存击穿、缓存穿…

Redis缓存应用场景解析

Redis的应用场景非常广泛。虽然Redis是一个key-value的内存数据库,但在实际场景中,Redis经常被作为缓存来使用,如面对数据高并发的读写、海量数据的读写等。 举个例子,A网站首页一天有100万人访问,其中有一个“积分商…

Redis缓存三大问题

缓存三大问题 ​ 我们都知道,Redis的Key都存在一个ttl(time to live)过期时间,Redis默认的是永不过期。Redis作为缓存,一方面可以提升速度,但也会带来三大常见的缓存问题:缓存穿透、缓存击穿和缓存雪崩。 ​ Redis作…

Redis缓存

Redis 一、Redis简介 一般为了提升性能,会在存储层和客户端之间添加一个缓存层,当客户端向后端发送请求的时候,会先去缓存层查,看看是否有相应的数据,如果有则直接返回,这样就减轻存储层的压力&#xff0c…

【Redis缓存】

一、使用Redis缓存的优点 相比于数据库而言,缓存的操作性能更高,缓存性能高的主要原因有以下几点: 1、缓存一般都是key-value查询数据的,因为不像数据库一样还有查询的条件等因素,所以查询的性能一般会比数据库高&am…