Java 8是里程碑Java 11、17、21是LTS。本文梳理各版本核心新特性帮助你升级技术栈。一、Java 8Lambda表达式Stream API函数式接口方法引用默认方法Optional新日期时间APIListString names users.stream() .filter(u - u.getAge() 18) .map(User::getName) .sorted() .collect(Collectors.toList());二、Java 9模块化系统JPMSJShell集合工厂方法接口私有方法ListString list List.of(a, b, c);三、Java 10局部变量类型推断varvar list new ArrayListString();四、Java 11HTTP ClientString新方法Files新方法单文件运行HttpClient client HttpClient.newHttpClient(); HttpRequest request HttpRequest.newBuilder() .uri(URI.create(https://example.com)) .build(); HttpResponseString response client.send(request, HttpResponse.BodyHandlers.ofString());五、Java 12-15switch表达式文本块Recordsinstanceof模式匹配String html html bodyHello/body /html ; record Point(int x, int y) {} if (obj instanceof String s) { System.out.println(s.length()); }六、Java 16-17密封类增强的伪随机数删除实验性AOTpublic sealed interface Shape permits Circle, Rectangle {}七、Java 18-20简单Web服务器UTF-8默认虚拟线程预览结构化并发八、Java 21虚拟线程正式分代ZGC记录模式switch模式匹配顺序集合try (var executor Executors.newVirtualThreadPerTaskExecutor()) { IntStream.range(0, 10000).forEach(i - { executor.submit(() - { Thread.sleep(1000); return i; }); }); }九、升级建议新项目直接用Java 21老项目逐步升级8 - 11 - 17 - 21注意依赖兼容性使用jdeprscan检查废弃API虚拟线程适合IO密集型十、总结Java持续演进新特性让代码更简洁、性能更高。保持学习才能跟上技术发展。