全面了解JDK: 与JRE,JVM关系,JDK各版本名称,特性,发布时间及与spring等框架的对应

-- 全面了解JDK: 与JRE,JVM关系,JDK各版本名称,特性,发布时间及与spring等框架的对应(持续更新,建议收藏)
【官网】:

应用场景

很多时候想知道jdk的各版本特性,名称及与spring等框架的对应关系,因此在此特意整理。

基础资源

使用须知

很多java开发者需要对jdk有一个全面的了解才能解开迷惑,确定使用jdk哪一个版本,以及如何更好的运用。 我们需要了解的内容比如:JDK与JRE,JVM的关系,JDK各版本名称,特性,发布时间及对应Spring框架版本等等。 本文都讲进行介绍。

配置步骤

A)JVM,JRE,JDK之间的关系。

jvm(Java Virtual MachineJVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

jre (java runtime environment) 是java程序的运行环境。

jdk(java development kit)是java的开发工具包。


jvm,jre,jdk三者关系如图:

 注1:图片来自  https://docs.oracle.com/javase/8/docs/

 注2: 运行时使用jre而不使用jdk,一方面是减少硬盘空间的使用,另一方面在一定成都考虑安全性,防止jdk里的一些执行命令被恶意篡改或执行。

B)JDK各版本的名称及发布时间。

C)JDK各版本的特性。

注:Java 8是于2014年3月14号发布。从Java 8开始开发代号已经弃用,因此从Java 8之后已经没有官方的开发代号。
Java 8u201/202 是最后一个免费的 Oracle JDK 8 版本,Oracle于 2019-01-15 停止免费商用更新。

 JDK1.4 正则表达式,异常链,NIO,日志类,XML解析器,XLST转换器
 JDK1.5 自动装箱、泛型、动态注解、枚举、可变长参数、遍历循环
 JDK1.6 提供动态语言支持、提供编译API和卫星HTTP服务器API,改进JVM的锁,同步垃圾回收,类加载
 JDK1.7 提供GI收集器、加强对非Java语言的调用支持(JSR-292,升级类加载架构
 JDK8 Lambda 表达式、方法引用、默认方法、新工具、Stream API、Date Time API 、Optional 类、Nashorn, JavaScript 引擎
 JDK9 1、集合加强;2、私有接口方法;3、垃圾收集机制;4、I/O流加强;5、JShell工具
 JDK10 1、局部变量类型推断;2、线程本地握手;3、GC改进和内存管理;
 JDK11 1、字符串加强;2、HttClient Api;3、用于 Lambda 参数的局部变量语法;4、ZGC
 JDK12 1、Switch Expressions;2、Shenandoah GC;
 JDK13 1、switch优化更新;2、文本块升级;3、重新实现旧版套接字API;4、核心库/java.util中:I18N;5、取消使用未使用的内存
 JDK14 1、switch优化变更为最终版;2、垃圾回收相关;3、instanceof的模式匹配(预览版);4、删除了安全库java.security.acl API;5、货币格式(优化)
 JDK15

D)一些java框架与JDK之间的关系。

D1)SpringFramework与JDK之间的对应关系.


常见问题

快速入门

参考资料