Java 8平台集合生产力、易用性、多语种编程、更高安全性和稳定性等特色。
JDK8的特性已经基本准备就绪,虽然一些特性还不是特别完善,但开发人员已经开始庆祝这一里程碑事件了。
JDK8开发者计划在上月底发布M7版本,按照原计划,这应该是一个功能完备的版本,包含完整的22个JEP(Java EnhancementProposals,Java增强建议)。目前大部分特性已经完成,最重要的是Lambda相关的几个特性(JEP 101、107、109和126)已经完成。
经过2年半的努力、屡次的延期和9个里程碑版本,甲骨文的Java开发团队终于发布了Java 8正式版本。
Java 8版本最大的改进就是Lambda表达式,其目的是使Java更易于为多核处理器编写代码;其次,新加入的Nashorn引擎也使得Java程序可以和JavaScript代码互操作;再者,新的日期时间API、GC改进、并发改进也相当令人期待。
另外,原本要加入Java 8的Jigsaw项目(标准模块系统)由于开发时间关系,被推迟到了Java 9中,不过Java 8已经在朝着这个方向努力了。
JDK 8 主要特性如下:
Lambda表达式,一种新的语言特性,能够使功能作为方法参数或将代码作为数据。
显著增加和修改了Java语言特性,增添了标准库,包括默认方法,新的java.util.stream包及 Date-Time API。
Compact Profiles包含 Java SE平台预定义子集,使应用程序员无需部署在整个平台,可运行在小型设备上。
安全性包括更新可Java加密体系架构;限制doPrivileged;SSL/TLS Server Name Indication (SNI) Extension以及增强密钥库。
JavaFX更新文档
新的JavaScript引擎Nashorn
更多详情参见:Oracle.com
JDK 8正式版更新:
Java 8的所有新特性及改进包括(JEP全称为JDK EnhancementProposal,JDK改进建议):
语言改进:
JEP 126:Lambda表达式 & 虚拟扩展方法
JEP 138:基于Autoconf的构建系统
JEP 160:针对Method Handles的Lambda形式的表征
JEP 161:简洁的配置文件
JEP 162:为模块化做准备
JEP 164:利用CPU指令来改善AES加密的性能
JEP 174:Nashorn引擎,允许在Java程序中嵌入JS代码
JEP 176:自动检测识别Caller-Sensitive方法
JEP 179:JDK API变化和稳定性记录
VM基础改进:
JEP 142:减少指定字段上的缓存争用
VM垃圾回收(vm/gc)改进:
JEP 122:移除Permanent Generation(永久代)
JEP 173:移除一些很少使用的垃圾回收器组合
VM运行时(vm/rt)改进:
JEP 136:提供更多的验证错误信息
JEP 147:减少类元数据封装
JEP 148:支持创建小型虚拟机(3M以下)
JEP 171:添加3个内存有序化的内联函数
核心基础(core)改进:
JEP 153:命令行启动JavaFX应用
核心lang(core/lang)改进:
JEP 101:目标类型推断
JEP 104:Java类型注解
JEP 105:DocTree API
JEP 106:在javax.tools中添加Javadoc
JEP 117:移除APT(Annotation-ProcessingTool)
JEP 118:运行过程中可访问参数名
JEP 120:重复注解
JEP 139:增强了javac,以改善构建速度
JEP 172:DocLint工具,用来检查Javadoc注释内容
核心库(core/libs)改进:
JEP 103:并行数组排序
JEP 107:集合数据批量操作
JEP 109:增强的包含Lambda的核心库
JEP 112:改进了字符集的实现
JEP 119:Core Reflection提供的javax.lang.model实现
JEP 135:Base64编解码
JEP 149:减少了核心库的内存占用
JEP 150:日期时间API
JEP 155:改进对并发的支持
JEP 170:JDBC 4.2
JEP 177:java.text.DecimalFormat.format优化
JEP 178:静态链接的JNI库
JEP 180:使用平衡树处理频繁的HashMap碰撞
核心i18n(core/i18n)改进:
JEP 127:改进了本地数据封装,采用Unicode CLDR数据
JEP 128:BCP 47局部匹配
JEP 133:Unicode 6.2
核心net(core/net)改进:
JEP 184:HTTP URL访问权限
核心安全(core/sec)改进:
JEP 113:MS-SFU Kerberos 5扩展
JEP 114:TLS Server Name Indication(SNI)扩展
JEP 115:AEAD密码套件
JEP 121:更强的口令加密系统算法
JEP 123:可配置的安全随机数生成方法
JEP 124:增强了证书撤回检测API
JEP 129:NSA Suite B加密算法实现
JEP 130:SHA-224消息摘要算法实现
JEP 131:针对64位Windows的SunPKCS11加密提供程序
JEP 140:特权限制
JEP 166:彻底检修JKS-JCEKS-PKCS12密钥库
web/jaxp改进:
JEP 185:JAXP 1.5(限制获取外部资源)