一、JDK9新特性 1. 概述 JDK9新特性主要包括: 模块化系统 JShell 只读集合工厂方法 接口的私有方法 String存储结构改变 try...catch升级 平台日志API和服务 垃圾回收器 2. 模块化系统 没有使用模块化时存在的问题: 导入依赖时,需要加载全部的包,影响系统性能。
jdk14新特性-文本块 平时我们写的字符串都是单行的,文本块就是一个多行的文本快。例如json/html/sql等,都需要用到多行字符串。 {name:"test"} 例如这样的json。我们再之前。 image-20230831222520632 可以发现idae是自动给进行换行等操作的。 在jdk14之后 image-20230901075631687 就可以用""" """里面来进行书...
JDK9之后对String底层存储数据结构进行了重大的修改1,同步也增加了许多新的方法,主要有Text Blocks、chars()、codePoints()、describeConstable()、formatted()、indent()、isBlank()、isEmpty()、lines()、repeat()、strip()、stripLeading()、stripIndent()、stripTrailing()、translateEscapes(),接下来就逐一看看每...
I/O 流新特性 readAllBytes/readNBytes/transferTo Arrays.mismatch 找到两个数组之间的第一个不匹配元素 Try-with-resources 允许有效地使用最终变量 FileInputStream fis=newFileInputStream("test");try(fis){} 接口中的私有方法 从Java 8开始,您可以在接口内部使用公共默认方法。但是仅从Java 9开始,由于接口中...
引入版本:jdk9 作用:语法上可以更方便的创建元素较少的集合。 jdk8时代的代码: List<String> list = new ArrayList<>(); list.add("a"); list.add("b"); list.add("c"); System.out.println(list); jdk9可以用的新代码: List<String> list = List.of("a","b","c"); ...
jdk9-jdk17新特性学习-私有接口方法 在Java 8,接口可以有常量变量和抽象方法。可以通过default关键字,在接口里写方法的代码,但没办法写私有方法。 在Java 9 ,支持在接口里写私有方法了。示例代码如下: public interface MyInterface { private void test(){...
JDK16的record类是一个简化数据类定义的特性,只需列出所需字段,其余由编译器自动处理。但record类是只读的,不能直接修改其值。JDK17的sealed类用于增强代码的安全性,通过显式地限制类的继承关系,避免了未预期的继承。非密封类(non-sealed)则允许常规继承。最后,JDK17的switch增强提供了一种更直观...
旨在介绍各个版本的JDK的新特性,带学生了解,或者说是预习将来可能会再工作中使用到的JDK,主要侧重语法和API层面的讲解,以免在工作中遇见新的JDK时会陌生 授课特点 1 着重讲解语法层次和API层次的改变,这也是和程序员关联性最强的改变,因为直接影响着我们的变化 ...
Java9,添加了几种集合工厂方法,更方便创建少量元素的集合、map实例。新的List、Set、Map的静态工厂方法可 以更方便地创建集合的不可变实例。 例子: 需要注意以下两点:1:of()方法只是Map,List,Set这三个接口的静态方法,其父类接口和子类实现并没有这类方法,比如 ...
JDK17继续对废弃的API进行了清理和移除,使得JDK更加精简和高效。同时,JDK17还针对性能进行了进一步提升,包括优化了JVM的内存管理、提高了并发性能等。 六、JDK19与JDK20:未来展望 JDK19和JDK20作为未来的版本,将继续推动JDK的发展和创新。未来版本的JDK可能会引入更多的新特性和改进,以满足不断变化的开发需求。我们...