39 lines
1.5 KiB
Markdown
39 lines
1.5 KiB
Markdown
java各个版本的特性
|
||
---
|
||
### **Java 8 (2014) - LTS**
|
||
- **Lambda表达式**:简化函数式编程[1][3]
|
||
- **Stream API**:支持函数式数据流处理[1]
|
||
- **接口默认方法与静态方法**:允许接口包含实现[1]
|
||
- **新的日期时间API(java.time)**:替代旧的Date/Calendar类[1]
|
||
- **Optional类**:减少NullPointerException风险[1]
|
||
|
||
### **Java 9 (2017)**
|
||
- **模块化系统(Jigsaw)**:引入模块化编程[2]
|
||
- **JShell**:交互式REPL工具[2]
|
||
|
||
### **Java 10 (2018)**
|
||
- **局部变量类型推断(var)**:简化局部变量声明[2]
|
||
|
||
### **Java 11 (2018) - LTS**
|
||
- **HTTP Client API**:标准化HTTP客户端[2]
|
||
- **单文件源码直接运行**:无需编译即可执行`.java`文件[2]
|
||
|
||
### **Java 12-17(非LTS版本)**
|
||
- **Switch表达式增强**(Java 12/13/14逐步完善, Java 14正式)[2]
|
||
- **文本块(Text Blocks)**:简化多行字符串(Java 13预览,Java 15正式)[2]
|
||
- **Records**:简化不可变数据类(Java 14预览,Java 16正式)[2]
|
||
- **Sealed Classes**:限制类继承(Java 15预览,Java 17正式)[2]
|
||
|
||
### **Java 18-21**
|
||
- **模式匹配增强**(instanceof、switch模式匹配)[2]
|
||
- **虚拟线程(预览)**:轻量级并发模型(Java 19预览,Java 21正式)[2]
|
||
|
||
### **Java 22-24(部分特性为预览或实验性)**
|
||
- **分代Shenandoah垃圾收集器**(Java 24)[4]
|
||
- **紧凑对象标头**:优化内存使用(Java 24)[4]
|
||
- **限制JNI使用**:提升安全性(Java 24)[4]
|
||
- **G1垃圾收集器扩展**(Java 24)[4]
|
||
|
||
|
||
|