JAVA新版本特性(10万字长文详解)完全指导手册

11 篇文章 4 订阅 ¥19.90 ¥99.00

目录

1、版本详解

1.1、Java 8 升Java 11

1.1.1、Java 8 升Java 11 重要特性必读

1.1.2、升级JDK11概述

1.1.2.1、JDK 10后版本发布规则?

1.1.2.2、JDK 8 升级到JDK 11 性能提升多少?

1.1.2.3、如何更好的理解从JDK 8 到 JDK 11 升级中带来的重要特性?

1.1.3、语言新特性

1.1.3.1、JDK9 - 允许在接口中使用私有方法

1.1.3.2、JDK10 - 局部变量类型推断

1.1.3.3、JDK11 - 用于 Lambda 参数的局部变量语法

1.1.4、新工具和库更新

1.1.4.1、JDK9 - 集合、Stream 和 Optional更新方法

1.1.4.2、JDK9 - 进程 API (Process Handle)

1.1.4.3、JDK9 - 变量句柄 (Var Handle)

1.1.4.4、JDK9 - I/O 流新特性

1.1.4.5、JDK9 - 改进应用安全性能

1.1.4.6、JDK10 - 根证书认证

1.1.4.7、JDK11 - 标准 HTTP Client 升级

1.1.4.8、JDK11 - 简化启动单个源代码文件的方法

1.1.4.9、JDK11 - 支持 TLS 1.3 协议

1.2、Java 11 升Java 17

1.2.1、Java 11 升Java 17 重要特性必读

1.2.2、升级JDK17概述 

1.2.2.1、JDK 17升级的必要性?

1.2.2.2、JDK 11 升级到JDK 17 性能提升多少?

1.2.2.3、如何更好的理解从JDK 11 到 JDK 17 升级中带来的重要特性?

1.2.3、语言新特性

1.2.3.1、JDK14 - Switch 表达式(JDK 12,13预览,14正式)

1.2.3.2、JDK15 - 文本块(JDK 13,14预览,15正式)

1.2.3.3、JDK16 - instanceof 模式匹配(JDK 14,15预览,16正式)

1.2.3.4、JDK16 - Records类型(JDK 14,15预览,16正式)

1.2.3.5、JDK17 - 密封的类和接口(JDK 15,16预览,17正式)

1.2.4、新工具和库更新

1.2.4.1、JDK13 - Socket API 重构

1.2.4.2、JDK14 - 改进 NullPointerExceptions 提示信息

1.2.4.3、JDK15 - 隐藏类 Hidden Classes

1.2.4.4、JDK15 - DatagramSocket API重构

1.2.4.5、JDK16 - 对基于值的类发出警告

1.2.4.6、JDK17 - 增强的伪随机数生成器

1.2.4.6.1、JDK 17之前如何生成随机数?

1.2.4.6.2、为什么需要增强?

1.2.4.6.3、增强后是什么样的?

1.3、Java 9 新特性详解

1.3.1、Java 9 新特性概述

1.3.2、Java 平台 模块系统

1.3.3、Jshell

1.3.4、集合、Stream 和 Optional

1.3.5、进程 API

1.3.6、平台日志 API 和 服务

1.3.7、反应式流 ( Reactive Streams )

1.3.8、变量句柄

1.3.9、改进方法句柄(Method Handle)

1.3.10、并发

1.3.11、Nashorn

1.3.12、I/O 流新特性

1.3.13、改进应用安全性能

1.3.14、用户界面

1.3.15、统一 JVM 日志

1.3.16、其他改动方面

1.3.17、结束语

1.4、Java 10 新特性概述

1.4.1、Java 10 新特性概述 

1.4.2、局部变量类型推断

1.4.3、整合 JDK 代码仓库

1.4.4、统一的垃圾回收接口

1.4.5、并行全垃圾回收器 G1

1.4.6、应用程序类数据共享

1.4.7、线程-局部管控

1.4.8、移除 Native-Header 自动生成工具

1.4.9、额外的 Unicode 语言标签扩展

1.4.10、备用存储装置上的堆分配

1.4.11、基于 Java 的 实验性 JIT 编译器

1.4.12、根证书认证

1.4.13、基于时间的版本发布模式

1.4.14、结束语

1.5、Java 11 新特性概述

1.5.1、基于嵌套的访问控制

1.5.2、标准 HTTP Client 升级

1.5.3、Epsilon:低开销垃圾回收器

1.5.4、简化启动单个源代码文件的方法

1.5.5、用于 Lambda 参数的局部变量语法

1.5.6、低开销的 Heap Profiling

1.5.7、支持 TLS 1.3 协议

1.5.8、ZGC:可伸缩低延迟垃圾收集器

1.5.9、飞行记录器

 1.5.10、动态类文件常量

1.5.11、结束语

1.6、Java 12 新特性概述

1.6.1、新功能和库的更新

1.6.1.1、JEP334: JVM常量API

1.6.1.2、JEP341: 默认CDS归档

1.6.1.3、JEP230: Microbenchmark测试套件

1.6.2、新的平台支持

1.6.2.1、JEP340: 移除多余ARM64实现

1.6.3、JVM 优化

1.6.3.1、JPE 344: G1的可中断 mixed GC

1.6.3.2、JEP 346: G1归还不使用的内存

1.6.4、新功能的预览和实验

1.6.4.1、JEP 189: Shenandoah:低暂停时间垃圾收集器(实验)

1.6.4.2、JEP 325: Switch 表达式 (预览版本)

1.7、Java 13 新特性概述

1.7.1、新功能和库的更新

1.7.1.1、JEP350: 动态应用程序类-数据共享

1.7.1.2、JEP353: Socket API 重构

1.7.2、JVM 优化

1.7.2.1、JEP351: 增强 ZGC 释放未使用内存

1.7.3、新功能预览

1.7.3.1、JEP354: Switch 表达式扩展(预览功能)

1.7.3.2、JEP355: 文本块(预览功能)

1.7.4、结束语

 1.8、Java 14 新特性概述

1.8.1、语言特性增强

1.8.1.1、JEP 359: Switch 表达式(正式版)

1.8.2、新功能和库的更新

1.8.2.1、JEP 358: 改进 NullPointerExceptions 提示信息

1.8.3、旧功能的删除和弃用

1.8.3.1、JEP 367: 删除 pack200 和 unpack200 工具

1.8.4、JVM 相关

1.8.4.1、JEP 345: G1 的 NUMA 可识别内存分配

1.8.4.2、JEP 363: 删除 CMS 垃圾回收器

1.8.4.3、JEP 364&365: ZGC 支持 MacOS 和 Windows 系统(实验阶段)

1.8.4.4、JEP 366: 弃用 ParallelScavenge 和 SerialOld GC 的组合使用

1.8.5、新功能的预览和实验

1.8.5.1、JEP 305: instanceof 模式匹配(预览阶段)

1.8.5.2、JEP 359: Record 类型(预览功能)

1.8.5.3、JEP 368: 文本块(第二预览版本)

1.8.5.4、JEP 343: 打包工具(孵化器版本)

1.8.5.5、JEP 370: 外部存储器访问 API(孵化器版)

1.8.6、结束语

1.9、Java 15 新特性概述

1.9.1、语言特性增强

1.9.1.1、JEP 378: 文本块(Text Blocks)

1.9.2、新功能和库的更新

1.9.2.1、JEP 339: Edwards-Curve 数字签名算法 (EdDSA)

1.9.2.2、JEP 371: 隐藏类 Hidden Classes

1.9.2.3、JEP 373: 重新实现 DatagramSocket API

1.9.3、JVM 优化

1.9.3.1、JEP 373: ZGC: 可伸缩低延迟垃圾收集器

1.9.3.2、JEP 374: 禁用偏向锁定

1.9.3.3、JEP 379: Shenandoah:低暂停时间垃圾收集器(转正)

1.9.4、旧功能的删除和弃用

1.9.4.1、JEP 372: 移除Nashorn JavaScript引擎

1.9.4.2、JEP 381: 移除了 Solaris 和 SPARC 端口。

1.9.4.3、JEP 385: 废除 RMI 激活

1.9.5、新功能的预览和孵化

1.9.5.1、JEP 375: instanceof 自动匹配模式(第二次预览)

1.9.5.2、JEP 360: 密封的类和接口(预览)

1.9.5.3、JEP 383: 外部存储器访问 API(二次孵化器版)

1.9.5.4、JEP 384: Records (二次预览)

1.10、Java 16 新特性概述

1.10.1、语言特性增强

1.10.1.1、JEP 394: instanceof 模式匹配(正式版)

1.10.1.2、JEP 395: Records (正式版)

1.10.2、新工具和库

1.10.2.1、JEP 380:Unix-Domain 套接字通道

1.10.2.2、JEP 390: 对基于值的类发出警告

1.10.2.3、JEP 392:打包工具(正式版)

1.10.2.4、JEP 396:默认强封装 JDK 内部元素

1.10.3、JVM 优化

1.10.3.1、JEP 376:ZGC 并发线程处理

1.10.3.2、JEP 387:弹性元空间

1.10.4、新功能的预览和孵化

1.10.4.1、JEP 338:向量 API(孵化器)

1.10.4.2、JEP 389:外部链接器 API(孵化器)

1.10.4.3、JEP 393:外部存储器访问 API(第三次孵化)

1.10.4.4、JEP 397:密封类(第二预览)

1.10.5、提升 OpenJDK 开发人员的生产力

1.10.5.1、JEP 347:启用 C++14 语言特性(在 JDK 源代码中)

1.10.5.2、JEP 357:从 Mercurial 迁移到 Git & JEP 369,迁移到 GitHub

1.10.5.3、JEP 386:AlpineLinux 移植 & JEP 388:Windows/AArch64 移植

 1.11、 Java 17 新特性概述

1.11.1、语言特性增强

1.11.1.1、密封的类和接口(正式版)

1.11.2、工具库的更新

1.11.2.1、JEP 306:恢复始终严格的浮点语义

1.11.2.2、JEP 356:增强的伪随机数生成器

1.11.2.3、JDK 17之前如何生成随机数?

1.11.2.4、为什么需要增强?

1.11.2.5、增强后是什么样的?

1.11.2.6、JEP 382:新的macOS渲染管道

1.11.3、新的平台支持

1.11.3.1、JEP 391:支持macOS AArch64

1.11.4、旧功能的删除和弃用

1.11.4.1、JEP 398:弃用 Applet API

1.11.4.2、JEP 407:删除 RMI 激活

1.11.4.3、JEP 410:删除实验性 AOT 和 JIT 编译器

1.11.4.4、JEP 411:弃用安全管理器以进行删除

1.11.5、新功能的预览和孵化API

1.11.5.1、JEP 406:新增switch模式匹配(预览版)

1.11.5.2、JEP 412:外部函数和内存api (第一轮孵化)

1.11.5.3、JEP 414:Vector API(第二轮孵化)

1.11.5.4、JEP 389:外部链接器 API(孵化器)

1.11.5.5、JEP 393:外部存储器访问 API(第三次孵化)


本篇主要介绍Java8以上所有版本特性知识体系详解。

Java现在发布的版本很快,每年两个,但是真正会被大规模使用的是三年一个的TLS版本。

  • 每3年发布一个TLS,长期维护版本。意味着Java 8 ,Java 11, Java 17 才可能被大规模使用。
  • 每年发布两个正式版本,分别是3月份和9月份。

1、版本详解

1.1、Java 8 升Java 11

1.1.1、Java 8 升Java 11 重要特性必读

Java 11 在 2018 年 9 月 25 日正式发布!根据发布的规划,JDK 11 是一个长期维护的版本(LTS); 本文帮助你梳理Java 8 升Java 11 重要特性。

</
  • 12
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hao_kkkkk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值