Java 8 新特性总结


Java 8 新特性 


文 | 莫若吻        

注:鉴于此篇博客文字篇幅过长,容易视觉疲劳等等原因,故将Java8 新特性的知识详情内容单独写了篇博客,目录地址已在下面分别给出。


一、简介

Oracle 在 2014 年 3 月发布了 Java 8 正式版,是自Java  5(2004年)发布以来Java语言最大的一次版本升级,Java 8带来了很多的新特性,其中主要的新特性涵盖:函数式接口、Lambda 表达式、集合的流式操作、注解的更新、安全性的增强、IO\NIO 的改进、完善的全球化功能、编译器、类库、开发工具和JVM(Java虚拟机)等等。


注:以下本人只对常用到的新特性作了总结和解析,其他的内容只给出了英文文档目录作简单的了解。


二、在AndroidStudio中设置某项目支持使用Java 8 新特性

请点击下面详情地址:

http://blog.csdn.net/sun_promise/article/details/51161252


三、 Lambda 表达式

Lambda 表达式详情地址:(内容包括函数式接口)

http://blog.csdn.net/sun_promise/article/details/51121205


四、接口增强

接口的静态方法和默认方法 详情地址:

http://blog.csdn.net/sun_promise/article/details/51220518


五、注解

类型注解和重复注解 详情地址:

http://blog.csdn.net/sun_promise/article/details/51315032


六、泛型目标类型推断

java 8 中泛型的目标类型推断主要有2个方面:
1)支持通过方法上下文推断泛型目标类型
2)支持在方法调用链路当中,泛型类型推断传递到最后一个方法


Note:其实泛型目标类型推断改进主要是在使用Lambda表达式时用来推断合法的Lambda表达式的类型的上下文 。

详情请点击《JDK8新特性:泛型的目标类型推断地址:

http://blog.csdn.net/sun_promise/article/details/51323241


七、Java 8 类库的新特性 

1.Optional类:

详情请点击《Java 类库的新特性之 Optional类》地址:

http://blog.csdn.net/sun_promise/article/details/51362838


2.日期时间API (Date/Time API )

详情请点击《Java 类库的新特性之日期时间API (Date/Time API )》地址:

http://blog.csdn.net/sun_promise/article/details/51383618


3.Stream类

详情请点击《 Java 类库的新特性之 Stream类 》地址:
http://blog.csdn.net/sun_promise/article/details/51480257


八、总结Java8所有新特性及改进内容

注:以下点击相应的内容目录可以查看相关的英文文档说明)

1.语言方面改进

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变化和稳定性记录

2.VM基础改进

JEP 142:减少指定字段上的缓存争用

3.VM垃圾回收(vm/gc)改进

JEP 122:移除Permanent Generation(永久代)

JEP 173:移除一些很少使用的垃圾回收器组合

4.VM运行时(vm/rt)改进

JEP 136:提供更多的验证错误信息

JEP 147:减少类元数据封装

JEP 148:支持创建小型虚拟机(3M以下)

JEP 171:添加3个内存有序化的内联函数

5.核心基础(core)改进

JEP 153:命令行启动JavaFX应用

6.核心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注释内容

7.核心库(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碰撞

8.核心i18n(core/i18n)改进

JEP 127:改进了本地数据封装,采用Unicode CLDR数据

JEP 128:BCP 47局部匹配

JEP 133:Unicode 6.2

9.核心net(core/net)改进

JEP 184:HTTP URL访问权限

10.核心安全(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密钥库

11.web/jaxp改进

JEP 185:JAXP 1.5(限制获取外部资源)



  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值