为了大家对JDK有一个全面的了解,下面我为大家整理了JDK5~11的所有关键新特性!

先看一下JDK的版本迭代图:

注:   OpenJDK和JDK区别

   GPL协议通用性公开许可证(General Public License)

LTS是长期支持(Long Term Support)的缩写

关于Java9之后没有Java10,而是Java18.3参见这篇文章(其实18.3是指此版本在18年3月发布)

JDK5新特性

  1. 自动装箱与拆箱

  2. 枚举

  3. 静态导入

  4. 可变参数(Varargs)

  5. 内省(introspector)

  6. 泛型(Generic)

  7. For-Each循环

JDK6新特性

  1. Desktop类和SystemTray类

  2. 使用JAXB2来实现对象与XML之间的映射

  3. 理解STAX

  4. 使用Compiler API

  5. 轻量级 Http Server API

  6. 插入式注解处理 API

  7. 使用Console开发控制台程序

  8. 对脚本语言的支持

  9. Common Annotations

  10. Java GUI界面的显示

  11. 嵌入式数据库Derby

  12. Web服务元数据

  13. Jtable的排序和过滤

  14. 更简单更强大的JAX-WS

JDK7新特性

  1. switch中可以使用字符串了

  2. 泛型实例化类型自动推断

  3. 自定义自动关闭类

  4. 新增一些读取环境信息的工具方法

  5. Boolean类型反转,空指针安全,参与位运算

  6. 两个char之间的equals

  7. 安全的加减乘除|sd

  8. 对Java集合( Collections)的增强支持

  9. 数值可加下划线

  10. 支持二进制数字

  11. 在try/catch异常扑捉中,一个catch可以写多个异常类型用|隔开

  12. 可以不必要写finally语句来关闭资源,只要你在try()的括号内部定义要使用的资源

JDK8新特性

  1. 接口的默认方法

  2. Lambda表达式

  3. 函数式接口

  4. 方法与构造函数引用

  5. 扩展了集合类

  6. 新的Date API

  7. Annotation多重注解

  8. streams(流)

  9. parallel streams(并行流)

  10. Map数据结构改进

JDK9新特性

  1. Jigsaw模块化项目

  2. 简化进程API

  3. 轻量级JSON API

  4. 钱和货币的API

  5. 改善锁竞争机制

  6. 代码分段缓存

  7. 智能java编译

  8. http2.0客户端

  9. kulla计划

JDK10新特性

  1. 局部变量的类型推断

  2. GC改进和内存管理

  3. 线程本地握手

  4. 备用内存设备上的堆分配

  5. 其他Unicode语言 - 标记扩展

  6. 基于Java的实验性JIT编译器

  7. 开源根证书

  8. 根证书颁发认证(CA)

  9. 将JDK生态整合单个存储库

  10. 删除工具javah

JDK11新特性

  1. 基于嵌套的访问控制(Nest-Based Access Control)

  2. 动态类文件常量(Dynamic Class-File Constants)

  3. Epsilon— 一个无操作的垃圾收集器

  4. 处于试验阶段的可伸缩低延迟垃圾收集器 ZGC

  5. 其他Unicode 10语言 - 标记扩展

  6. HTTP Client (Standard)

  7. 用于 Lambda 参数的局部变量语法

JDK 5 ~ 11 新特性倾情整理的更多相关文章

  1. JDK 5 ~ 10 新特性倾情整理!

    JDK 5 ~ 10 新特性倾情整理! 最近连 JDK11都在准备发布的路上了,大家都整明白了吗?也许现在大部分人还在用6-8,8的新特性都没用熟,9刚出不久,10-11就不用说了. 为了大家对JDK ...

  2. 译文《全新首发JDK 16全部新特性》

    封面:洛小汐 译者:潘潘 JDK 8 的新特性都还没摸透,JDK 16 的新特性就提着刀来了. 郑重申明: 第一次冒险翻译专业领域的文献,可想而知,效果特别糟糕.一般翻译文献特别是 技术专业领域 的内 ...

  3. C++ 11学习和掌握 ——《深入理解C++ 11:C++11新特性解析和应用》读书笔记(一)

    因为偶然的机会,在图书馆看到<深入理解C++ 11:C++11新特性解析和应用>这本书,大致扫下,受益匪浅,就果断借出来,对于其中的部分内容进行详读并亲自编程测试相关代码,也就有了整理写出 ...

  4. [转载] C++11新特性

    C++11标准发布已有一段时间了, 维基百科上有对C++11新标准的变化和C++11新特性介绍的文章. 我是一名C++程序员,非常想了解一下C++11. 英文版的维基百科看起来非常费劲,而中文版维基百 ...

  5. Java 5-11新特性的整理(转)

    Java 5-11新特性的整理(转) 作者:拔剑少年 简书地址:https://www.jianshu.com/u/dad4d9675892博客地址:https://it18monkey.github ...

  6. C++11新特性总结 (二)

    1. 范围for语句 C++11 引入了一种更为简单的for语句,这种for语句可以很方便的遍历容器或其他序列的所有元素 vector<int> vec = {1,2,3,4,5,6}; ...

  7. C++11新特性总结 (一)

    1. 概述 最近在看C++ Primer5 刚好看到一半,总结一下C++11里面确实加了很多新东西,如果没有任何了解,别说自己写了,看别人写的代码估计都会有些吃力.C++ Primer5是学习C++1 ...

  8. C++ 11 新特性

    C++11新特性:          1.auto          2.nullptr          3.for          4.lambda表达式          5.override ...

  9. 在C++98基础上学习C++11新特性

    自己一直用的是C++98规范来编程,对于C++11只闻其名却没用过其特性.近期因为工作的需要,需要掌握C++11的一些特性,所以查阅了一些C++11资料.因为自己有C++98的基础,所以从C++98过 ...

随机推荐

  1. Java使用Jacob将Word、Excel、PPT转化成PDF

    使用Jacob将金山WPS转化成PDF,其中WPS文字使用KWPS.Aplication.Excel表格是KET.Application.演示文档是KWPP.Application,废话不多说,直接上 ...

  2. JAVA基础-面向对象06

    一.封装 1. 封装概念和体现 封装:包装的意思,隐藏被封装的事物的信息:生活中的包装:快递:食品:电子产品……方便:好看易用:安全: Java程序中的包装: 类:包装了同一类事物的共性信息: 函数: ...

  3. Codeforces Round #422 (Div. 2)D. My pretty girl Noora(递推+数论)

    传送门 题意 对于n个女孩,每次分成x人/组,每组比较次数为\(\frac{x(x+1)}{2}\),直到剩余1人 计算\[\sum_{i=l}^{r}t^{i-l}f(i)\],其中f(i)代表i个 ...

  4. Codeforces Round #355 (Div. 2)C - Vanya and Label

    啊啊啊啊啊啊啊,真的是智障了... 这种题目,没有必要纠结来源.只要知道它的结果的导致直接原因?反正这句话就我听的懂吧... ">>"/"&" ...

  5. Angular 项目开发中父子组件传参

    在项目开发中经常会遇到 组件之间传参的问题.今天总结下在使用angular的项目中父子组件传参的问题: 1.父组件向子组件传参: 然后在父组件中 然后在父组件的html中 然后就可以在子组件中使用了 ...

  6. 第一篇 .NET高级技术之索引器

    基础知识补充 索引 器 没有名字 ,索引器的内部本质 (ILSpy的IL模式下看)类型 this[参数]{get;set;} 可以是只读或者只写(在get或者set前加上private) 字符串是只读 ...

  7. Redis生成主键ID

    使用Redis來生成主鍵ID策略,這裡主要使用 RedisAtomicLong 類來實現主鍵生成策略.具體代碼如下: /** * @Description: 获取自增长值 * @param key k ...

  8. Python基础知识(3)

    1:字符串类型转换 num = 100 num2 = " #num是整数类型的值,num2是字符串类型的值,如果把他们两个的类型转换下呢? int(num2) #int 整形成整数 str( ...

  9. 在img标签上尽量不要使用onerror事件

    在img标签上尽量不要使用onerror事件 因为在之前的时候,我在本地对用户头像修改发现,如果图片加载失败, 使用onerror事件去获取一个默认地址的图片虽然这是可行的,但是如果刚好onerror ...

  10. 双端队列 HDOJ 3530 Subsequence

    题目传送门 题意:问最长子序列,满足区间最大值 - 最小值在[m, k]之间 分析:用双端队列维护最大值和最小值,保存的是位置.当满足条件时,更新最大值. /********************* ...