Java 8版本最大的改进就是Lambda表达式,其目的是使Java更易于为多核处理器编写代码;其次,新加入的Nashorn引擎也使得Java程序可以和JavaScript代码互操作;再者,新的日期时间API、GC改进、并发改进也相当令人期待。
另外,原本要加入Java
8的Jigsaw项目(标准模块系统)由于开发时间关系,被推迟到了Java 9中,不过Java
8已经在朝着这个方向努力了。
Java 8的所有新特性及改进包括(JEP全称为JDK
Enhancement
Proposal,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)改进:
VM运行时(vm/rt)改进:
核心基础(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-Processing Tool)
- 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)改进:
核心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(限制获取外部资源