5分钟学JAVA系列-Jdk11

有用的新特性:

ZGC

明星产品,主打招牌,让你的代码0改动,性能提升1万倍。GC的stop the world时间为 10ms。
ZGC: avg 1.091ms max: 1. 681ms
G1: avg 156.886ms max: 543.846ms

用法:-XX:+UnockExperimentalVMOptions -XX:+UseZGC,因为ZGC还处于实验阶段,所以需要通过JVM参数来解锁这个特性。

  • 但目前只是实验性产品,不建议应用生产。如果生产上的机器没有T级别的内存也没必要用。所以JDK11 可以不升级了。
  • JDK11支持指定不适用GC,这个可在压力测试使用。排除GC干扰。比如1G内存,预期通过,但实际炸了,就有内存风险。当然生产上禁用。
  • ZGC只支持64位操作系统。

免费的G1并行fullGC功能

这个功能以前是商业版的,现在放出来可以白嫖了。对fullGc有很大的提升。

在DOCKER中运行更加完美支持

让JAVA知道自己在docker里面运行,对内存和CPU的资源控制都比以前好。这个是JDK11的改进。

JFR 飞行记录仪

以前是收费的,现在可以白嫖了。可以通过命令开启和停用产生分析文件。然后用JDK12的工具可以打开分析。另外,阿里有Arthas可以用。

没啥用的特性:

JSHELL

可用命令行写JAVA,大家都用idea写代码。实战没啥用。

var

就是个语法糖,看得懂代码就行,实战没啥用。

工具新API

多数实战没啥用,强烈建议用hutool代替,中文API社区可查简单好用。新方法可以了解,看得懂就行。

  • JDK 8 有 Stream.iterate(1,t->(2t)+1) 输出 1 3 7 15 … 无限直到int 爆掉变-1
    JDK11有 Stream.iterate(1,t->,t<20,t->(2
    t)+1),中间多了个参数,输出 1, 3,7,15 没了。可以限制数量。实战没啥用,生个奇数玩算法?
  • Optional x = Optional.ofNullable(null)有点用,可以兼容空指针。是jdk11多出来的方法。orElseThrow还能抛异常。对空指针的处理,有更多的选择。
  • 字符串"A\nB\nC".lines = 3,“Java”.repeat(3) = “JavaJavaJava” 稍微有点用,了解即可。

HTTP客户端

HttpClient 有 send 和 sendAsync同步和异步两个方法有用。类似的Hutool也有。但异步的hutool没有。

废弃的项

  • PACK200废弃,用来压缩JAR。现在网络提升了,就没必要,还要解压,额外开销。
  • JavaScript集成废弃,前后端分离谁用这,让老板多招一个前端吧。
  • java hello.java 直接执行是允许的。 但只会找第一个类的main方法。 不会生产class文件。实战没啥用。

Unicode10

增加了8518 个字符,有emoj表情。特殊场景有用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值