110 likes | 426 Views
Java SE. Simon Ritter Java 技术 大使. @speakjava. JDK 7 于 2011 年 7 月发货 JDK 8 计划于 2014 年发货 预期平台版本升级周期为 2 年 Java SE 8 平台符合 JSR 336 规范 JDK 8 计划的主要特性 Lambda 表达式和默认方法 (JSR 335) 与批注相关的语言变更 (JSR 308) 日期和时间 API (JSR 310) 紧凑型配置文件. 正在开发的 JDK 8. JDK 8. 客户端 部署增强 JavaFX 8 Java SE Embedded 支持
E N D
Java SE Simon Ritter Java 技术大使 @speakjava
JDK 7 于 2011 年 7 月发货 JDK 8 计划于 2014 年发货 预期平台版本升级周期为 2 年 Java SE 8 平台符合 JSR 336 规范 JDK 8 计划的主要特性 Lambda 表达式和默认方法 (JSR 335) 与批注相关的语言变更 (JSR 308) 日期和时间 API (JSR 310) 紧凑型配置文件 正在开发的 JDK 8
JDK 8 客户端 • 部署增强 • JavaFX 8 • Java SE Embedded 支持 • 增强的 HTML5 支持 • 3D 形状和属性 • 打印 创新 • Lambda(即闭包) • 语言互操作性 • Nashorn Java 普及 • 针对资源受限设备的 Profile • JSR 310 — 日期和时间 API • 非罗马日历 • Unicode 6.2 • ResourceBundle • BCP47 区域匹配 • 全球化和辅助功能 核心库 • 核心集合 API 支持并行操作 • 功能增强 • 改进的类型推断 安全性 • 受限的 doPrivilege • NSA Suite B 算法支持 • SNI 服务器端支持 • DSA 更新至 FIPS186-3 • AEAD JSSE CipherSuites 工具 • 编译器控制和日志记录 • JSR 308 - Java 类型批注 • 原生应用捆绑 • 应用商店捆绑工具 一般改进 • JVM 增强 • 无 PermGen 限制 • 性能增强
2006 至 2008 年,社区针对闭包开展了激烈的辩论 多种提案,包括 BGGA、CICE 和 FCM 2009 年 12 月 — OpenJDK 项目 Lambda 诞生 2010 年 11 月 — 建立 JSR-335 规范 现状 已提供草案规范 OpenJDK 支持原型(源代码和二进制) 即将发布主流 JDK 8 Build 版 Java 中的闭包之路
语言 Lambda 表达式(闭包) 使用默认方法发展接口 库 对集合执行批量数据操作 加强库对并行机制的支持 JVM 默认方法 invokedynamic 增强 针对 Lambda 协调了平台升级
看一些代码 日程安排应用程序中的强健错误处理 // Event handler for when things go terribly wrong filterTask.setOnFailed(new EventHandler<WorkerStateEvent>() { @Override public void handle(WorkerStateEvent e) { e.getSource().getException().printStackTrace(); } }); // Event handler for when things go terribly wrong filterTask.setOnFailed( e -> e.getSource().getException().printStackTrace());
for (Shape s :shapes) { if (s.getColor() == BLUE) s.setColor(RED); } shapes.forEach(s -> { if (s.getColor() == BLUE) s.setColor(RED); });
扩展方法 interface Collection<T> { default void forEach(Block<T> action) { for (T t :this) action.apply(t); } // Rest of Collection methods… }
Lambda 表达式 + 扩展方法允许: 内部迭代 对现有类型执行批量数据操作 利用 fork/join 更好地支持并行性 Lambda 项目
提供开发人员预览版 日程安排:http://openjdk.java.net/projects/jdk8 与大家分享OpenJFX:http://openjdk.java.net/projects/openjfx 包含许多特性的 JDK 8 Build 版已经发布 抢先试用 Lambda 并了解JavaFX 8:http://jdk8.java.net 通过您当地的 JUG 免费参与 JCP Jigsaw Build 版也已在 Java.net 上发布 测试人员招募