JDK11新特性

Updated on with 0 views and 0 comments

自从 sun 公司被 Oracle 收购后,对于 jdk 要收费的担心一直都有,
可以看看下面的文章
https://cloud.tencent.com/developer/news/337289
如上述文章 JDK 分为 OracleJDK、OpenJDK。



比较OpenJDKOracleJDK
是否收费免费收费
feature release每 6 个月发布一次每 3 年发布一次 LTS(Long Term Support)Support 的期限是 8 年
update release每 3 个月发布一次每 3 个月发布一次

从 JDK11 开始,OpenJDK 与 OracleJDK 基本完全一样。但是它们之间仍然有一些差异

Java SE Downloads
详细情况可以打开 Oracle 官网进行访问
https://www.oracle.com/technetwork/java/javase/downloads/index.html


JDK11 新特性

  • 1、基于嵌套的访问控制
  • 2、动态类文件常量
  • 3、改进 Aarch64 内联函数
  • 4、Epsilon:No-Op 垃圾收集器
  • 5、删除 Java EE 和 CORBA 模块
  • 6、HTTP 客户端(标准)
  • 7、Lambda 参数的本地变量语法
  • 8、Curve25519 和 Curve448 密钥协议
  • 9、Unicode 10
  • 10、运行记录仪
  • 11、ChaCha20 和 Poly1305 密码算法
  • 12、启动单文件源代码程序
  • 13、低开销堆分析
  • 14、传输层安全性(TLS)1.3
  • 15、ZGC:可扩展的低延迟垃圾收集器
  • 16、弃用 Nashorn JavaScript 引擎
  • 17、弃用 Pack200 工具和 API


下面例举其他历史版本的新增特性 *** #### JDK5新特性
  • 自动装箱与拆箱
  • 枚举
  • 静态导入
  • 可变参数(Varargs)
  • 内省(introspector)
  • 泛型(Generic)
  • For-Each 循环

JDK6 新特性

  • Desktop 类和 SystemTray 类
  • 使用 JAXB2 来实现对象与 XML 之间的映射
  • 理解 STAX
  • 使用 Compiler API
  • 轻量级 Http Server API
  • 插入式注解处理 API
  • 使用 Console 开发控制台程序
  • 对脚本语言的支持
  • Common Annotations
  • Java GUI界面的显示
  • 嵌入式数据库 Derby
  • Web 服务元数据
  • Jtable 的排序和过滤
  • 更简单更强大的 JAX-WS

JDK7 新特性

  • switch 中可以使用字符串了
  • 泛型实例化类型自动推断
  • 自定义自动关闭类
  • 新增一些读取环境信息的工具方法
  • Boolean 类型反转,空指针安全,参与位运算
  • 两个 char 之间的 equals
  • 安全的加减乘除|sd
  • 对 Java 集合( Collections)的增强支持
  • 数值可加下划线
  • 支持二进制数字
  • 在 try/catch 异常扑捉中,一个 catch 可以写多个异常类型用 | 隔开
    可以不必要写 finally 语句来关闭资源,只要你在 try()的括号内部定义要使用的资源

JDK8 新特性

  • 接口的默认方法
  • Lambda 表达式
  • 函数式接口
  • 方法与构造函数引用
  • 扩展了集合类
  • 新的 Date API
  • Annotation 多重注解
  • streams(流)
  • parallel streams(并行流)
  • Map 数据结构改进

JDK9 新特性

  • Jigsaw 模块化项目
  • 简化进程 API
  • 轻量级 JSON API
  • 钱和货币的 API
  • 改善锁竞争机制
  • 代码分段缓存
  • 智能 Java 编译
  • http2.0 客户端
  • kulla 计划

JDK10 新特性

  • 局部变量的类型推断
  • GC 改进和内存管理
  • 线程本地握手
  • 备用内存设备上的堆分配
  • 其他 Unicode 语言 - 标记扩展
  • 基于 Java 的实验性 JIT 编译器
  • 开源根证书
  • 根证书颁发认证(CA)
  • 将 JDK 生态整合单个存储库
  • 删除工具 javah