从2019年1月开始,JDK开始对Java SE 8以后的版本,准确的说是8u201/202以后的版本进行商业使用收费。 如果你用Java开发的功能是用于商业用途,并且不想花钱购买的话,可以免费使用的最新版本是8u201/202。 当然,如果你是个人客户或者个人开发者,你可以免费试用所有版本的JDK。
性能改进
仅切换到 Java 11 就有 16% 的改进,这种改进很可能是由于 Java 10 中引入了 JEP 307:G1 的 Full GC。
有关详细信息,请参阅Java 11 比 Java 8 快多少?查看此基准测试
从 Java 8 到 Java 11 的变化概述
注意:我们不会在这里介绍所有功能,而只会列出开发者最关心的一些变化。
紧凑字符串
从Java 9开始,数据加载已从char[]更改为byte[]。 紧凑字符串通常仅包含 Latin-1 字符。 这些字符可以节省一半的内存。
增强API
1.字符串增强@since 11
2. 收藏强化
从Java 9开始,jdk增加了集合(List、Set、Map)的方法。 它们用于创建不可变集合。
示例一:
示例二:
例三:
注意:使用and创建的集合是不可变集合,不能进行添加、删除、替换、排序等操作,否则是一个java.lang。 会报告异常。 使用Set.of()、Map.of()时不能出现重复元素不能出现重复键,否则会返回java.lang.tion。 。
3. 增强@since 9
这是Java 8中的一个特性,Java 9中添加了4个新方法:
3.1(Tt)
该方法可以接收null来创建一个空流
// 以前
Stream.of(null); //报错
// 现在
Stream.ofNullable(null);
3.2(