百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

JDK 各版本(1~14)特性总结

lipiwang 2024-11-23 19:02 8 浏览 0 评论

JDK 14

无版本代号, 2020-03-17 发布。

特性:(还未来得及研究每个新特性,无法确认是功能的属性)

  • 305: instanceof的模式匹配 (预览)
  • 343: 打包工具 (Incubator)
  • 345: G1的NUMA内存分配优化
  • 349: JFR事件流
  • 352: 非原子性的字节缓冲区映射
  • 358: 友好的空指针异常
  • 359: Records (预览)
  • 361: Switch表达式 (标准)
  • 362: 弃用Solaris和SPARC端口
  • 363: 移除CMS(Concurrent Mark Sweep)垃圾收集器
  • 364: macOS系统上的ZGC
  • 365: Windows系统上的ZGC
  • 366: 弃用ParallelScavenge + SerialOld GC组合
  • 367: 移除Pack200 Tools和API
  • 368: 文本块 (第二个预览版)
  • 370: 外部存储器API (Incubator)


JDK 13

无版本代号, 2019-09-17 发布。

特性:

  • 【提升】动态程序类数据共享;
  • 【提升】ZGC: 释放未使用的内存;
  • 【提升】Socket API
  • 【提升】Switch 表达式(预览);
  • 【提升】文本块(预览);


JDK 12

无版本代号, 2019-03-19 发布。

特性:

  • 【新增】低停顿垃圾收集器(Shenandoah, 实验);
  • 【新增】微基准套件;
  • 【新增】JVM 常量 API;
  • 【提升】Switch 表达式(预览);
  • 【提升】使用默认类数据共享(CDS)存档;
  • 【提升】AArch64 的实现(一个端口);
  • 【提升】G1 优化,终止混合集合,能自动返回堆内存;


JDK 11

无版本代号, 2018-09-25 发布。

特性:

  • 【新增】可伸缩低延迟垃圾收集器(ZGC, 实验);
  • 【新增】基于嵌套的访问控制;
  • 【新增】低开销垃圾回收器(Epsilon);
  • 【新增】低开销的 Heap Profiling;
  • 【提升】标准 HTTP Client 升级;
  • 【提升】启动单个源代码文件的方法;
  • 【提升】Lambda 参数的局部变量语法;
  • 【提升】支持 TLS 1.3 协议;
  • 【提升】飞行记录器,之前只有商业版中提供;
  • 【提升】动态类文件常量;
  • 【提升】新增加密算法(ChaCha20 和 Poly1305);
  • 【废弃】废弃 Nashorn JavaScript 引擎、 Pack200 工具类和 API
  • 【移除】移除 Java EE 和 CORBA 模块;


JDK 10

无版本代号, 2018-03-20 发布。

特性:

  • 【新增】局部变量类型推断;
  • 【新增】统一的垃圾回收接口;
  • 【新增】并行全垃圾回收期 G1;
  • 【新增】应用程序类数据共享;
  • 【新增】线程-局部管控;
  • 【新增】基于 Java 的 实验性 JIT 编译器
  • 【提升】基于时间的版本发布模式
  • 【提升】备用存储装置上的堆分配
  • 【提升】根证书认证
  • 【提升】额外的 Unicode 语言标签扩展
  • 【提升】整合 JDK 代码仓库;
  • 【删除】移除 Native-Header 自动生成工具;


JDK 9

无版本代号, 2017-09-21 发布。

特性:

  • 【新增】模块化,进而使得 JDK 目录结构发生变化;
  • 【新增】交互式编程环境 REPL(JShell);
  • 【新增】轻量级 JSON API;
  • 【新增】响应式流 (Reactive Streams) API
  • 【新增】HTTP 2.0 客户端;
  • 【新增】多版本兼容 jar 包;
  • 【新增】货币相关的 API; //
  • 【新增】代码分段缓存; //
  • 【新增】智能 Java 编译,第二阶段; //
  • 【提升】集合: 提供集合工厂方法;
  • 【提升】接口: 私有接口方法;
  • 【提升】String: 底层存储结构更换;
  • 【提升】API:进程、Stream、@Deprecated、 Optional、CompletableFuture 等;
  • 【提升】锁争用机制;
  • 【提升】简化进程 API;
  • 【提升】Javadoc 的提升


JDK 8

版本代号为 Spider(蜘蛛), 2014-03-18 发布, major.minor 版本为 52

特性:

  • 【新增】Lambda 表达式;
  • 【新增】管道和 stream;
  • 【新增】新的日期和时间 API;
  • 【新增】函数式接口;
  • 【新增】接口的默认方法,又称为扩展方法;
  • 【新增】方法与构造函数的引用;
  • 【新增】Optional API;
  • 【新增】并行操作;
  • 【新增】新工具,如 Nashorn 引擎 jjs、类依赖分析器 jdeps;
  • 【提升】支持多重注解,并新增了部分注解;


JDK 7

版本代号为 Dolphin(海豚), 2011-07-28 发布, major.minor 版本为 51

特性:

  • 【新增】Fork and Join
  • 【提升】创建泛型对象时应用类型推导, 钻石表达式;
  • 【提升】自动资源管理(try-with-resources);
  • 【提升】异常捕获的处理方式(通过 | 捕获多个异常),
  • 【提升】 Java NIO2 API(working with path 和 file change notification);
  • 【提升】switch 的分支条件支持字符串;
  • 【提升】集合中新增 TransferQueue 接口, 是 BlockingQueue 的改进版,实现类为 LinkedTransferQueue;
  • 【提升】JDBC4.1: try-with-resources 和 RowSet1.1
  • 【提升】网络、Swing、XML 处理、国际化等 API 的提升
  • 【提升】JVM方面, 支持非 Java 语言, Garbage-First-Collector 和提升了 Java HotSpot 虚拟机的性能;

reference-jdk7


JDK 6

版本代号为 Mustang(野马), 2006-12-11 发布, major.minor 版本为 50

特性:

  • 【新增】Web 服务元数据;
  • 【新增】脚本语言支持;
  • 【新增】JTable 的排序和过滤;
  • 【新增】轻量级的 Http Server;
  • 【新增】插入式注解处理 API(Pluggable Annotation Processing API);
  • 【新增】支持嵌入式数据库 Derby;
  • 【新增】Console API;
  • 【新增】Compile API;
  • 【新增】StAX(Streaming API for XML) 处理 XML;
  • 【提升】引入 JAXB2 来处理对象和 XML 之间的映射;
  • 【提升】AWT 中新增了两个类 Desktop 和 SystemTray, 极不常用;
  • 【提升】Common Annotations;
  • 【提升】JAX-WS2.0;
  • 【提升】JDBC4.0;
  • 【提升】引入新的 GC 算法;


JDK 5

版本代号为 Tiger(老虎), 2004-09-30 发布, major.minor 版本为 49。从 JDK5 开始, JDK 的版本不再以 1.x 的方式来命名了, 而是直接用 x 来命名。

特性:

  • 【新增】泛型
  • 【新增】增强 for 循环, 可以使用迭代方式;
  • 【新增】自动装箱与自动拆箱;
  • 【新增】类型安全的枚举;
  • 【新增】支持可变参数;
  • 【新增】静态导入;
  • 【新增】注解: 动态注解、元数据;
  • 【新增】Instrumentation;
  • 【新增】内省(Introspector)
  • 【新增】JUC 包
  • 【新增】Scanner 类


JDK 1.4

版本代号为 Merlin(隼), 2004-02-06 发布(首次在 JCP 下发行), major.minor 版本为 48

特性:

  • 【新增】XML处理;
  • 【新增】Java打印服务;
  • 【新增】Logging API;
  • 【新增】Java Web Start;
  • 【新增】断言;
  • 【新增】引入Preferences API;
  • 【新增】链式异常处理;
  • 【新增】支持IPV6;
  • 【新增】正则表达式;
  • 【新增】Image I/O API;
  • 【新增】NIO API;
  • 【新增】集成 JCE、JSSE、JAAS;
  • 【提升】引入JDBC 3.0 API;


JDK 1.3

版本代号为 Kestrel(红隼), 2000-05-08 发布, major.minor 版本为 47

特性:

  • 【新增】Java Sound API, 已被淘汰;
  • 【新增】jar文件索引;
  • 【新增】JVM 配备 HotSpot JVM;
  • 【新增】代理类;
  • 【新增】Java 命名与目录接口;
  • 【新增】Java 平台调试体系;


JDK 1.2

版本代号为 Playground(操场), 1998-12-08 发布, major.minor 版本为 46

特性:

  • 【新增】集合框架;
  • 【新增】对字符串常量做内存映射;
  • 【新增】JIT(Just In Time) 编译器;
  • 【新增】对打包的 Java 文件进行数字签名;
  • 【新增】控制授权访问系统资源的策略工具;
  • 【新增】JFC(Java Foundation Classes), 包括 Swing 1.0, 拖放和 Java2D 类库,很少使用, 主要的使用场景是用在后端生成图片的业务场景, 如二维码生成;
  • 【新增】Java 插件;
  • 【新增】strictfp 关键字;
  • 【提升】在 JDBC 中引入可滚动结果集, BLOB, CLOB, 批量更新和用户自定义类型;
  • 【提升】在 Applet 中添加声音支持, 已被淘汰;


JDK 1.1

无版本代号, 1997-02-19 发布, major.minor 版本为 45

特性:

  • 【新增】JDBC(Java Database Connectivity), 注意不是 Connection;
  • 【新增】内部类;
  • 【新增】Java Bean;
  • 【新增】RMI(Remote Method Invocation);
  • 【新增】反射(仅用于内省);
  • 【提升】IO 引入 Reader/Writer 及其子类;


JDK 1.0

版本代号为 Oak(橡树), 1996-01-23 发布

主要特性:

  • 【新增】JVM;
  • 【新增】Applet: 已被淘汰;
  • 【新增】AWT(Abstract Window ToolKit): 已被淘汰;
  • 【新增】File 和 IO(InputStream/OutputStream) 相关操作 API;

相关推荐

前端入门——css 网格轨道详细介绍

上篇前端入门——cssGrid网格基础知识整体大概介绍了cssgrid的基本概念及使用方法,本文将介绍创建网格容器时会发生什么?以及在网格容器上使用行、列属性如何定位元素。在本文中,将介绍:...

Islands Architecture(孤岛架构)在携程新版首页的实践

一、项目背景2022,携程PC版首页终于迎来了首次改版,完成了用户体验与技术栈的全面升级。作为与用户连接的重要入口,旧版PC首页已经陪伴携程走过了22年,承担着重要使命的同时,也遇到了很多问题:维护/...

HTML中script标签中的那些属性

HTML中的<script>标签详解在HTML中,<script>标签用于包含或引用JavaScript代码,是前端开发中不可或缺的一部分。通过合理使用<scrip...

CSS 中各种居中你真的玩明白了么

页面布局中最常见的需求就是元素或者文字居中了,但是根据场景的不同,居中也有简单到复杂各种不同的实现方式,本篇就带大家一起了解下,各种场景下,该如何使用CSS实现居中前言页面布局中最常见的需求就是元...

CSS样式更改——列表、表格和轮廓

上篇文章主要介绍了CSS样式更改篇中的字体设置Font&边框Border设置,这篇文章分享列表、表格和轮廓,一起来看看吧。1.列表List1).列表的类型<ulstyle='list-...

一文吃透 CSS Flex 布局

原文链接:一文吃透CSSFlex布局教学游戏这里有两个小游戏,可用来练习flex布局。塔防游戏送小青蛙回家Flexbox概述Flexbox布局也叫Flex布局,弹性盒子布局。它决定了...

css实现多行文本的展开收起

背景在我们写需求时可能会遇到类似于这样的多行文本展开与收起的场景:那么,如何通过纯css实现这样的效果呢?实现的难点(1)位于多行文本右下角的展开收起按钮。(2)展开和收起两种状态的切换。(3)文本...

css 垂直居中的几种实现方式

前言设计是带有主观色彩的,同样网页设计中的css一样让人摸不头脑。网上列举的实现方式一大把,或许在这里你都看到过,但既然来到这里我希望这篇能让你看有所收获,毕竟这也是前端面试的基础。实现方式备注:...

WordPress固定链接设置

WordPress设置里的最后一项就是固定链接设置,固定链接设置是决定WordPress文章及静态页面URL的重要步骤,从站点的SEO角度来讲也是。固定链接设置决定网站URL,当页面数少的时候,可以一...

面试发愁!吃透 20 道 CSS 核心题,大厂 Offer 轻松拿

前端小伙伴们,是不是一想到面试里的CSS布局题就发愁?写代码时布局总是对不齐,面试官追问兼容性就卡壳,想跳槽却总被“多列等高”“响应式布局”这些问题难住——别担心!从今天起,咱们每天拆解一...

3种CSS清除浮动的方法

今天这篇文章给大家介绍3种CSS清除浮动的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。首先,这里就不讲为什么我们要清楚浮动,反正不清除浮动事多多。下面我就讲3种常用清除浮动的...

2025 年 CSS 终于要支持强大的自定义函数了?

大家好,很高兴又见面了,我是"高级前端进阶",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发!1.什么是CSS自定义属性CSS自...

css3属性(transform)的一个css3动画小应用

闲言碎语不多讲,咱们说说css3的transform属性:先上效果:效果说明:当鼠标移到a标签的时候,从右上角滑出二维码。实现方法:HTML代码如下:需要说明的一点是,a链接的跳转需要用javasc...

CSS基础知识(七)CSS背景

一、CSS背景属性1.背景颜色(background-color)属性值:transparent(透明的)或color(颜色)2.背景图片(background-image)属性值:none(没有)...

CSS 水平居中方式二

<divid="parent"><!--定义子级元素--><divid="child">居中布局</div>...

取消回复欢迎 发表评论: