JDK6→JDK7→JDK8 重点技术更新(精简背诵版)
下面按版本分点,只留面试必背、工作高频,直接背即可。
一、JDK 6 重点更新
- 脚本语言支持(JSR223,Java 调用 JS/Python)
- JDBC 4.0(自动加载驱动、注解支持)
- 泛型、注解全面稳定落地
- CMS 垃圾收集器成熟可用(低延迟 GC)
- 永久代 PermGen(堆内,易 OOM)
- 性能优化、编译优化、JVM 调优增强
二、JDK 7 重点更新(承上启下)
语法层面
- 二进制字面量:
0b1010 - 数字下划线分隔:
1_000_000 - switch 支持String 字符串
- try‑with‑resources 自动关闭资源(实现 AutoCloseable)
- 多异常同时捕获:
catch(A|B e) - 泛型菱形语法:
new ArrayList<>()
底层 / API
- NIO.2 全新文件 API(Path、Files)
- Fork/Join 并行计算框架
- G1 垃圾收集器推出
- 字符串常量池移到堆中(减少 PermGen OOM)
- 压缩指针、逃逸分析优化
三、JDK 8 重点更新(核心重点,必背)
语言特性
- Lambda 表达式:函数式编程,简化代码
- 函数式接口:@FunctionalInterface(Predicate、Function 等)
- 接口支持default 默认方法、static 静态方法
- 方法引用(类::方法)
- 重复注解、类型注解
集合与工具
- Stream API:集合流式处理,filter/map/collect
- Optional:解决空指针异常
- Map 新方法:computeIfAbsent、putIfAbsent、merge
全新日期时间
- java.time 包:LocalDate、LocalTime、LocalDateTime、Instant
- 彻底替代 Date/Calendar(线程安全、易用)
异步编程
- CompletableFuture:异步任务编排、链式调用
JVM/GC 重大变更
- 永久代 PermGen 废除 → 元空间 Metaspace(本地内存,大幅减少 OOM)
- G1 收集器正式成熟,成为推荐 GC
其他
- 内置 Base64 工具类
- Nashorn JS 引擎
极简一句话总结(背诵)
- JDK6:基础稳定,CMS 成熟,PermGen 易 OOM;
- JDK7:语法糖铺垫(switch 字符串、try‑with、菱形语法)、G1 推出、NIO2;
- JDK8:里程碑,Lambda+Stream + 新日期 + 元空间 + CompletableFuture,企业主流。
