Uploaded by 张杨

20174228-张旭升-JDK 8- JDK 13关键功能特性变化

advertisement
(Class)() -> {语句; }
Lambda表达式
在接受函数式接口的地方
允许以声明性方式处理数据集合
包含两个类型:中间操作和结束操作
Stream
典型举例:forEach遍历;filter过滤; map转
换集合;
JDK 8
重要特点 1:不变性,Java.time包中的类是不可
变且线程安全的。
Date
重要特点 2:关注点分离,将人可读的日期时间
和机器时间明确分离,为日期、时间、日期时
间、时间戳以及时区定义了不同的类
empty() 方法创建一个空的Optional对象型
Optional
of() 方法用于创建非空对象
ofNullable() 方法创建允许为空的对象
完备的Future
CompletableFuture
新的目录结构
bin、conf、include、jmods、legal、lib
类似cmd的交互式工具
JShell工具
允许接口定义私有方法
JDK 9
由 char[] 替换为了 byte[]
String底层存储结构变更
引进HttpClient
其他:模块化、多版本兼容Jar包
自动检测所属于类型,但是null时不能判断,会
报异常
局部变量var
在java.util.List、java.util.Set、java.util.Map新
增加了一个静态方法copyOf,按照其迭代顺序
返回一个不可修改的列表、集合或映射包含了给
定的元素的集合。如果将返回的集合进行修改,
则报异常
copyOf方法
JDK 10
垃圾收集器的优化
使用G1(Garbage-First)全收集器
在不执行全局VM安全点的情况下对线程执行回
调的方法。让它停止单个线程而不是全部线程
线程局部管控
JDK 8- JDK 13关键功能特性变化
改善java.util.Locale 类和相关的API以实现额外
BCP47语言标签的Unicode扩展
Unicode 标签扩展
ZGC
参考资料网址:
1. https://my.oschina.net/mdxlcj/blog/1622718
2. https://www.jianshu.com/p/c5063fcd54cd
3. https://mp.weixin.qq.com/s?__biz=MzU2NjIzNDk5NQ==&mid=
2247487555&idx=1&sn=ec36492b5c83fcab4241c2d51ef55c73&chksm=
fcaeca5fcbd94349dbcf73a716fe49e3fc041b32fbec7a9fd12746805a930a
dc666004404f97&mpshare=1&scene=23&srcid=
09018CMPTDFBSafypMpVWtIo&sharer_sharetime=1567296510426&
sharer_shareid=f4ea5dcd1ac851d940183676dc6dac96#rd
4. https://my.oschina.net/mdxlcj/blog/1622984
5. https://blog.csdn.net/jlq_diligence/article/details/102775215
6. https://my.oschina.net/mdxlcj/blog/3009128
7. https://www.cnblogs.com/peter1018/p/9234490.html
8. https://my.oschina.net/mdxlcj/blog/3010342
9. https://blog.csdn.net/cun_chen/article/details/82807552
10. https://my.oschina.net/mdxlcj/blog/3102739
11. https://my.oschina.net/mdxlcj/blog/3107021
采用并发回收策略,使用Load Barrier技术实
现,可看作是G1之上更细粒度的内存管理策略
嵌套类可见性支持
JDK 11
主要增加了对于嵌套类private的支持
用于Lambda参数的局部变量语法
TLS 1.3支持
移除Java EE和 CORBA 模块
HTTPClient 加强方法
JDK 12
Java自带了HTTP Client API
Microbenchmark Suite
添加的一套基本微基准测试,使开发人员可以轻
松运行现有的微基准测试并创建新的基准测试
Switch表达式(预览版)
一种新形式的开关标签:case L ->
JVM常量API
引入API来模拟关键类文件和运行时工件的名义
描述,特别是可从常量池加载的常量
核心库j ava.lang 中支持Unicode 11
核心库java.text支持压缩数字格式
可以返回信息
switch优化更新
文本块升级
HTML、SQL、注释 等文本块优化
动态CDS档案
JDK 13
ZGC:Uncommit Unused Memory
重新实现旧版套接字API
可以将未使用的堆内存返回给操作系统
使用更简单,更现代的实现替换java.net.Socket
和java.net.ServerSocketAPI使用的底层实现,
易于维护和调试
FileSystems.newFileSystem新方法
添加了三种新方法java.nio.file.FileSystems,以
便更轻松地使用将文件内容视为文件系统的文件
系统提供程序
Download