Java 8 以后的长期支持版本各有哪些常用的新特性?
先自己想一想,再看参考要点
参考要点
- Java 8:Lambda、Stream、Optional、新的日期时间 API(java.time)、接口默认方法,元空间取代永久代
- Java 11:var 用于 Lambda 参数、G1 成为默认的垃圾收集器(Java 9 起)、标准化的 HttpClient、String 的 isBlank、strip、repeat
- Java 17:记录类(record)、密封类(sealed)、文本块、instanceof 模式匹配、switch 表达式
- Java 21:虚拟线程、switch 模式匹配、记录模式、SequencedCollection
- Lambda 编译成当前类的私有方法,调用处是 invokedynamic,不生成匿名内部类
- Stream 是惰性求值的,遇到 collect、findFirst 这类终止操作才执行