java9-java17重要特性总结

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。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值