hereducument\textblock,文本块,此特性可以在源文件插入纯文本,不在需要坑爹的'+'加号来连接。 通过三引号"""xxx"""来定义。 文本块极大的提高了对文本的处理能力,特别是sql的编写,未来可能直接将sql写在代码中,且不会 带来任何阅读障碍(参考其他语言)。(java13,java14,java15) |
接口中包含私有方法,对于default接口,其默认实现可能是相同的,对此通过在接口中定义私有方 法,可以抽离出这部分公共代码,提高维护性,私有方法不会暴露出去。(java9) |
内置轻量级json api,对于一些小的应用,不再需要引入json包来处理数据,可以直接开工撸代码。 (java9) |
响应式(reactive)编程api,采用业界通用的pub/sub架构来处理,类似springcloud中webflux。 (java9) |
局部变量推断,var关键字,此特性是一个java新增的语法糖,自动类型推断已经有相关插件或工 具能辅助实现,但是无法直接使用,使用成本比较高,如果javac等编译器自带,那么将带来的好 处如下:
(java10) |
极大加强集合功能,Jdk 里面为集合(List/ Set/ Map)都添加了 of 和 copyOf 方法,不在需要自定义相关 工具类,直接上手撸代码。 (java9,java10) |
可伸缩低延迟垃圾收集器 ZGC,弃用祖传的cms、parallel等垃圾回收器,不靠谱的G1,迎接全新的ZGC, ZGC通过降低吞吐量来保障低时延,提高了稳定的响应速度,这个稳定的十分重要,这将会让整个程序的 STW时间可控,不会出现曾今的FullGC带来的无法估量的STW,此特性能让java杀入高实时系统领域(曾 今是想都不敢想)。 ZGC可以配置通过牺牲吞吐量来保障低延迟,保障稳定的响应速度。 (java11,java14) |
switch功能增强,1.8只能switch(数字\字符串),java17后可以使用switch(类型),同时增加了yield-return 功能,这些特性极大增强switch语句,再也不是鸡肋。 (java12,java13,java14,java17) |
instanceof模式自动匹配, Object obj = "java14"; //测试一把 if (obj instanceof String sss && sss.length() > 5) { System.out.println(sss.contains("b")); System.out.println("这是字符串!sss" + sss); } else { System.out.println("其他~"); } 如上,代码胜千言。 (java14,java15,java16) |
弃用Applet、SercurtyManager、CMS、ParallelGC、javah,部分弃用RMI、Unsafe。 |