JDK 8
原文
该项目的目标是根据 Java 社区流程中定义的 JSR 337 中的 Java SE 8 平台规范,生成一个开源的参考实现。
JDK 8 于 2014 年 3 月 18 日达到了正式发布的状态。基于 JDK 8 代码基础的生产就绪的二进制发行版现在可以从 Oracle 获取,并且很快也将在大多数 Linux 发行版 中提供。
JDK 8 更新版本的开发正在附近的 JDK 8 更新项目 中进行。
内容
JDK 8 是 "计划 B" 的第二部分。该版本的主要特性是 项目 Lambda(项目 Jigsaw 最初也计划在此版本中发布,但后来被取消了)。只要其他特性符合 Lambda 所需的整体进度,通过 JEP 流程 提出的其他特性也被包含在内。关于该版本中包含的特性的详细信息可以在 特性 页面找到。
特性
- JEP 101: Generalized Target-Type Inference | 广义目标类型推断
- JEP 103: Parallel Array Sorting | 并行数组排序
- JEP 104: Annotations on Java Types | Java 类型上的注解
- JEP 105: DocTree API
- JEP 106: Add Javadoc to javax.tools | 在 javax.tools 中添加 Javadoc
- JEP 107: Bulk Data Operations for Collections | 集合的批量数据操作
- JEP 109: Enhance Core Libraries with Lambda | 使用 Lambda 增强核心库
- JEP 112: Charset Implementation Improvements | 字符集实现改进
- JEP 113: MS-SFU Kerberos 5 Extensions | MS-SFU Kerberos 5 扩展
- JEP 114: TLS Server Name Indication (SNI) Extension | TLS 服务器名称指示(SNI)扩展
- JEP 115: AEAD CipherSuites
- JEP 117: Remove the Annotation-Processing Tool (apt) | 移除注解处理工具(apt)
- JEP 118: Access to Parameter Names at Runtime | 在运行时访问参数名称
- JEP 119: javax.lang.model Implementation Backed by Core Reflection | 由核心反射支持的 javax.lang.model 实现
- JEP 120: Repeating Annotations | 重复的注解
- JEP 121: Stronger Algorithms for Password-Based Encryption | 基于密码的加密的更强算法
- JEP 122: Remove the Permanent Generation | 移除永久代
- JEP 123: Configurable Secure Random-Number Generation | 可配置的安全随机数生成
- JEP 124: Enhance the Certificate Revocation-Checking API | 增强证书吊销检查 API
- JEP 126: Lambda Expressions & Virtual Extension Methods | Lambda 表达式和虚拟扩展方法
- JEP 127: Improve Locale Data Packaging and Adopt Unicode CLDR Data | 改进区域设置数据打包和采用 Unicode CLDR 数据
- JEP 128: BCP 47 Locale Matching | BCP 47 区域设置匹配
- JEP 129: NSA Suite B Cryptographic Algorithms | NSA Suite B 密码算法
- JEP 130: SHA-224 Message Digests | SHA-224 消息摘要
- JEP 131: PKCS#11 Crypto Provider for 64-bit Windows | 64 位 Windows 的 PKCS#11 加密提供程序
- JEP 133: Unicode 6.2
- JEP 135: Base64 Encoding & Decoding | Base64 编码与解码
- JEP 136: Enhanced Verification Errors | 增强的验证错误
- JEP 138: Autoconf-Based Build System | 基于 Autoconf 的构建系统
- JEP 139: Enhance javac to Improve Build Speed | 增强 javac 以提高构建速度
- JEP 140: Limited doPrivileged | 有限的 doPrivileged
- JEP 142: Reduce Cache Contention on Specified Fields | 减少指定字段的缓存争用
- JEP 147: Reduce Class Metadata Footprint | 减少类元数据占用空间
- JEP 148: Small VM | 小型虚拟机
- JEP 149: Reduce Core-Library Memory Usage | 减少核心库的内存使用
- JEP 150: Date & Time API | 日期和时间 API
- JEP 153: Launch JavaFX Applications | 启动 JavaFX 应用程序
- JEP 155: Concurrency Updates | 并发更新
- JEP 160: Lambda-Form Representation for Method Handles | 方法句柄的 Lambda 形式表示
- JEP 161: Compact Profiles | 紧凑配置文件
- JEP 162: Prepare for Modularization | 为模块化做准备
- JEP 164: Leverage CPU Instructions for AES Cryptography | 利用 CPU 指令进行 AES 密码学加密
- JEP 166: Overhaul JKS-JCEKS-PKCS12 Keystores | 改进 JKS-JCEKS-PKCS12 密钥库
- JEP 170: JDBC 4.2
- JEP 171: Fence Intrinsics | Fence 内置函数
- JEP 172: DocLint
- JEP 173: Retire Some Rarely-Used GC Combinations | 废弃一些很少使用的 GC 组合
- JEP 174: Nashorn JavaScript Engine | Nashorn JavaScript 引擎
- JEP 176: Mechanical Checking of Caller-Sensitive Methods | 调用敏感方法的机械检查
- JEP 177: Optimize java.text.DecimalFormat.format | 优化 java.text.DecimalFormat.format
- JEP 178: Statically-Linked JNI Libraries | 静态链接的 JNI 库
- JEP 179: Document JDK API Support and Stability | 文档化 JDK API 的支持和稳定性
- JEP 180: Handle Frequent HashMap Collisions with Balanced Trees | 使用平衡树处理频繁的 HashMap 冲突
- JEP 184: HTTP URL Permissions | HTTP URL 权限
- JEP 185: Restrict Fetching of External XML Resources | 限制获取外部 XML 资源
时间表
最初的时间表旨在在 2013 年 9 月初发布该版本,但由于对与浏览器相关的安全问题的更加关注,这个日期无法实现。最终的时间表是在 2013 年 4 月 18 日提出的,并于 2013 年 4 月 26 日通过,具体如下:
- 2012/04/26 M1
- 2012/06/14 M2
- 2012/08/02 M3
- 2012/09/13 M4
- 2012/11/29 M5
- 2013/01/31 M6
- 2013/06/13 M7 功能完成
- 2013/09/05 M8 开发者预览
- 2014/01/23 M9 最终发布候选版
- 2014/03/18 GA 正式发布
关于里程碑内容和发布的最后阶段的更多信息可以在 里程碑 页面找到。