JDK6→JDK7→JDK8 重点技术更新(精简背诵版)

下面按版本分点,只留面试必背、工作高频,直接背即可。

一、JDK 6 重点更新

  1. 脚本语言支持(JSR223,Java 调用 JS/Python)
  2. JDBC 4.0(自动加载驱动、注解支持)
  3. 泛型、注解全面稳定落地
  4. CMS 垃圾收集器成熟可用(低延迟 GC)
  5. 永久代 PermGen(堆内,易 OOM)
  6. 性能优化、编译优化、JVM 调优增强

二、JDK 7 重点更新(承上启下)

语法层面

  1. 二进制字面量:0b1010
  2. 数字下划线分隔:1_000_000
  3. switch 支持 String 字符串
  4. try‑with‑resources 自动关闭资源(实现 AutoCloseable)
  5. 多异常同时捕获:catch(A|B e)
  6. 泛型菱形语法:new ArrayList<>()

底层 / API

  1. NIO.2 全新文件 API(Path、Files)
  2. Fork/Join 并行计算框架
  3. G1 垃圾收集器推出
  4. 字符串常量池移到堆中(减少 PermGen OOM)
  5. 压缩指针、逃逸分析优化

三、JDK 8 重点更新(核心重点,必背)

语言特性

  1. Lambda 表达式:函数式编程,简化代码
  2. 函数式接口:@FunctionalInterface(Predicate、Function 等)
  3. 接口支持 default 默认方法、static 静态方法
  4. 方法引用(类::方法)
  5. 重复注解、类型注解

集合与工具

  1. Stream API:集合流式处理,filter/map/collect
  2. Optional:解决空指针异常
  3. Map 新方法:computeIfAbsent、putIfAbsent、merge

全新日期时间

  1. java.time 包:LocalDate、LocalTime、LocalDateTime、Instant
  2. 彻底替代 Date/Calendar(线程安全、易用)

异步编程

  1. CompletableFuture:异步任务编排、链式调用

JVM/GC 重大变更

  1. 永久代 PermGen 废除 → 元空间 Metaspace(本地内存,大幅减少 OOM)
  2. G1 收集器正式成熟,成为推荐 GC

其他

  1. 内置 Base64 工具类
  2. Nashorn JS 引擎

极简一句话总结(背诵)

  • JDK6:基础稳定,CMS 成熟,PermGen 易 OOM;
  • JDK7:语法糖铺垫(switch 字符串、try‑with、菱形语法)、G1 推出、NIO2;
  • JDK8:里程碑,Lambda+Stream + 新日期 + 元空间 + CompletableFuture,企业主流。
相关推荐
karry_k2 小时前
MyBatis批量insert-select踩坑:useGeneratedKeys=true 可能让PostgreSQL返回大量插入结果
java·后端
karry_k2 小时前
PostgreSQL 在 MyBatis 中执行正常 SQL 失效:一次 DELETE USING 踩坑记录
java·后端
SamDeepThinking6 小时前
从源码到代码:MyBatis-Flex 与 MyBatis-Plus 的逐项对比
java·后端·程序员
她的男孩8 小时前
Spring Boot 接 Flowable 工作流:用 3 个注解搭一个请假审批流程
java·后端·架构
荣码10 小时前
LLM结构化输出:让AI返回JSON而不是废话,我踩了4个坑
java·python
plainGeekDev12 小时前
Gson → kotlinx.serialization
android·java·kotlin
小bo波20 小时前
Java Swing 图形用户界面实验 —— 从算术练习到游戏开发的完整实践
java·课程设计·gui·游戏开发·扫雷·swing
咖啡八杯1 天前
GoF设计模式——备忘录模式
java·后端·spring·设计模式