赞
踩
内容总结于网络资源
版本 | 介绍 |
---|---|
Oak | 1991.04 |
jdk1.0 | 1995.05: 改名Java 1996.01: 新增技术特性:Applet、AWT JVM改进:Sun Classic VM |
jdk1.1 | 1997.02: 修正版本:1.1.0-1.1.8九个版本:JDK1.1.4-Sparkler(宝石)、JDK1.1.5-Pumpkin(南瓜)、JDK1.1.6-Abigail(阿比盖尔,女子名)、JDK1.1.7-Brutus(布鲁图,古罗马政治家个将军)、JDK1.1.8-Chelsea(切尔西,城市名)。 新增语法特性:内部类、反射 新增技术特性:JAR文件格式、JDBC、JavaBeans、RMI(Remote Method Invocation,远程方法调用,开发纯Java的网络分布式应用系统的核心解决方案之一) |
jdk1.2 | 1998.12.04 JDK1.2 Playground(竞技场) 新增语法特性:添加strictfp(strict float point,精确浮点)关键字 新增技术特性:Collections集合类、EJB、Java Plug-in、Java IDL、Swing等 JVM改进:内置JIT(Just In Time)编译器 其他说明:Sun在JDK1.2中把Java技术体系拆分为3个方向:J2ME(Java 2 Platform, Micro Edition,面向手机等移动端开发版本) J2SE(Java 2 Platform, Standard Edition,面向桌面应用开发版本) J2EE(Java 2 Platform, Enterprise Edition,面向企业级开发版本) |
JDK1.3 | 2000.05.08 JDK1.3 Kestrel(美洲红隼) 修正版本:JDK1.3.1 Ladybird(瓢虫) 新增技术特性:JNDI(Java 命名与目录接口)、提供了大量新的Java 2D API、JavaSound类库 JVM改进:自JDK1.3开始,HotSpot虚拟机成为默认虚拟机 |
JDK1.4 | 2002.02.13 JDK1.4 Merlin(灰背隼) 修正版本:2002.09.16 JDK1.4.1 Grasshopper(蚱蜢)、2003.06.26 JDK1.4.2 Mantis(螳螂) 新增技术特性:正则表达式、异常链、NIO、日志类、XML解析器、XSLT转换器等 其他说明: JDK1.4是Java真正走向成熟的一个版本,许多著名公司参与实现,目前许多主流应用(如Spring、Hibernate、Struts等)都可以直接运行在JDK1.4上。 |
jdk1.5 | 2004.09.30 JDK1.5 Tiger(老虎) 新增语法特性:自动装箱与拆箱、静态导入、泛型、动态注解、枚举、可变长参数、遍历(foreach)循环等 新增技术特性:java.util.concurrent并发包 JVM改进:改进了Java的内存模型(Java Memory Model, JMM) 其他说明: 从JDK1.5版本开始,只有程序员内部的开发版本号(Develper Version,如java -version的输出)中才继续沿用1.5、1.6、1.7的版本号, 而公开版本号(Product Version)则改为JDK5、JDK6、JDK7的命名方式。 |
jdk1.6 | 2006.12.11 JDK6 Mustang(野马) 新增技术特性:动态语言支持(通过内置Mozilla JavaScript Rhino引擎实现)、编译API、微型HTTP服务器等 JVM改进:锁与同步、垃圾收集、类加载等方面的算法都有很多改动 其他说明: 从JDK6开始结束J2EE、J2SE、J2ME的命名方式,启用了Java EE 6、Java SE 6、Java ME 6的命名方式。 2006年11月13日的JavaOne大会上,Sun宣布最终会把Java开源,在随后的一年多陆续在GPL v2协议下公开了JDK各个部分的源码,并建立了OpenJDK组织对这些源码进行独立管理。 JDK6后,由于代码复杂性的增加、JDK开源、开发JavaFX、经济危机及Sun收购案等原因,Sun在JDK发展以外耗费了很多资源,JDK的更新没有维持两年发布一个主版本的发展速度。 2009年4月20日,Oracle宣布正式以74亿美元的价格收购Sun公司,Java商标从此正式归Oracle所有(但Java语言本身不归属哪家公司所有,它由JCP组织进行管理,尽管JCP主要是由Sun或者是Oracle所领导的)。 |
jdk1.7 | 2011.07.28 JDK7 修正版本: 新增语法特性:二进制字面量、在数字字面量下使用下划线、swatch可以使用String类型、创建实例的类型推断、在try之后自动关闭资源(try-with-resources)等 新增技术特性:ClassLoader新增API、URLClassLoader新增API、Concurrent包的改进、更多新NIO2的API等 JVM改进:G1 |
jdk1.8 | 2014.03 Lambda表达式 方法引用 Stream API 接口默认方法、静态方法 Optional 新的时间API:LocalDate、LocalTime、LocalDateTime、Clock、Instant等 |
jdk1.9 | 2017.09 JCP执行委员会提出将Java的发布频率改为每六个月一次,新的发布周期严格遵循时间点,将在每年的3月份和9月份发布 最大的变化之一是引入了模块系统(Jigsaw 项目)。 HTTP 2 客户端:HTTP/2标准是HTTP协议的最新版本,新的 HTTPClient API 支持 WebSocket 和 HTTP2 流以及服务器推送特性。 改进的 Javadoc:Javadoc 现在支持在 API 文档中的进行搜索。另外,Javadoc 的输出现在符合兼容 HTML5 标准。 集合工厂方法:List,Set 和 Map 接口中,新的静态工厂方法可以创建这些集合的不可变实例。 私有接口方法:在接口中使用private私有方法。我们可以使用 private 访问修饰符在接口中编写私有方法。 改进的 Stream API:改进的 Stream API 添加了一些便利的方法,使流处理更容易,并使用收集器编写复杂的查询。 改进 try-with-resources:如果你已经有一个资源是 final 或等效于 final 变量,您可以在 try-with-resources 语句中使用该变量,而无需在 try-with-resources 语句中声明一个新变量。 改进的弃用注解 @Deprecated:注解 @Deprecated 可以标记 Java API 状态,可以表示被标记的 API 将会被移除,或者已经破坏。 改进 Optional 类:java.util.Optional 添加了很多新的有用方法,Optional 可以直接转为 stream。 响应式流(Reactive Streams) API: Java 9中引入了新的响应式流 API 来支持 Java 9 中的响应式编程。 |
jdk1.10 | 2018.03 局部变量类型推断(Local-Variable Type Inference):使用var关键字进行变量声明,可以进行变量类型的推断。 G1的并行Full GC(Parallel Full GC for G1):G1的并行完整垃圾回收,实现并行性来改善最坏情况下的延迟。 应用程序类数据共享(Application Class-Data Sharing):应用程序类数据 (AppCDS) 共享,通过跨进程共享通用类元数据来减少内存占用空间,和减少启动时间。 ThreadLocal握手机制(Thread-Local Handshakes):在不进入到全局 JVM 安全点 (Safepoint) 的情况下,对线程执行回调。优化可以只停止单个线程,而不是停全部线程或一个都不停。 |
jdk1.11 | 2018.09 可在生产环境中使用!这是自 Java 8 后的首个长期支持版本,将支持到2026年。 ZGC,可扩展的低延迟垃圾收集器(ZGC: A Scalable Low-Latency Garbage Collector):ZGC是一款号称可以保证每次GC的停顿时间不超过10MS的垃圾回收器,并且和当前的默认垃圾回收起G1相比,吞吐量下降不超过15%。 Epsilon:什么事也不做的垃圾回收器(Epsilon: A No-Op Garbage Collector):这是一款不做垃圾回收的垃圾回收器。这个垃圾回收器看起来并没什么用,主要可以用来进行性能测试、内存压力测试等,Epsilon GC可以作为度量其他垃圾回收器性能的对照组。 增强var用法(Local-Variable Syntax for Lambda Parameters):在Java 11中,var可以用来作为Lambda表达式的局部变量声明。 |
jdk1.12 | 2019.03 低暂停时间的GC(Shenandoah: A Low-Pause-Time Garbage Collector )(Experimental):新增Shenandoah 算法,通过与正在运行的 Java 线程同时进行 evacuation 工作来减少 GC 暂停时间。 Switch 表达式(Switch Expressions):扩展了 switch 语句,使其不仅可以作为语句(statement),还可以作为表达式(expression) 可中止的G1 Mixed GC(Abortable Mixed Collections for G1) G1及时返回未使用的已分配内存(Promptly Return Unused Committed Memory from G1):如果 G1Mixed GC 存在超出暂停目标的可能性,则使其可中止。 |
jdk1.13 | 2019.09 扩展应用程序类-数据共享(Dynamic CDS Archives):允许在 Java 应用程序执行结束时动态归档类。归档类将包括默认的基础层 CDS(class data-sharing)存档中不存在的所有已加载的应用程序类和库类。 增强 ZGC 以将未使用的堆内存返回给操作系统(ZGC: Uncommit Unused Memory):ZGC 可以将未使用的堆内存返回给操作系统 可在生产环境中使用的 switch 表达式(Switch Expressions):在switch块中引入了yield语句,用于返回值。 将文本块添加到 Java 语言(Text Blocks):引入多行字符串文字,在其中可以放置多行的字符串,不需要进行任何转义。 |
jdk 14 | 2020.03 instanceof模式匹配 switch表达式 记录类型(Record Type)的引入 文本块作为预览特性保留 打包工具 (Incubator) |
jdk 15 | 2020.09 |
jdk 16 | 2021.03 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。