(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,以 便更轻松地使用将文件内容视为文件系统的文件 系统提供程序