JavaSE 8 新特性

1. 简介

毫无疑问,Java 8是Java自Java 5(发布于2004年)之后的最重要的版本。这个版本包含语言、编译器、库、工具和JVM等方面的十多个新特性。在本文中我们将学习这些新特性,并用实际的例子说明在什么场景下适合使用。

这个教程包含Java开发者经常面对的几类问题:

语言

编译器

工具

JVM

2.Java语言的新特性

2.1 Lambda表达式与Functional接口


2.2 接口的默认方法与静态方法


2.3 方法引用


2.4 重复注解


2.5 更好的类型推测机制


2.6 扩展注解的支持

3. Java编译器的新特性

3.1 参数名字


4. Java 类库的新特性

4.1 Optional

为了解决空指针异常,Google的Guava项目引入了Optional类,Guava通过使用检查空值的方式来防止代码污染,它鼓励程序员写更干净的代码。Google Guava的成功,使得Java 8类库引入了Optional类。java.util.Optional<T>

Optional实际上是个容器:它可以保存类型T的值,或者仅仅保存null。


如果Optional类的实例为非空值的话,isPresent()返回true,否从返回false。为了防止Optional为空值,orElseGet()方法通过回调函数来产生一个默认值。map()函数对当前Optional的值进行转化,然后返回一个新的Optional实例。orElse()方法和orElseGet()方法类似,但是orElse接受一个默认值而不是一个回调函数。


4.2 Stream


4.3 Date/Time API (JSR 310)


4.4 JavaScript引擎Nashorn


4.5 Base64


4.6 并行(parallel)数组


4.7 并发(Concurrency)


5. 新的Java工具

5.1 Nashorn引擎: jjs


5.2 类依赖分析器jdeps


6. Java虚拟机(JVM)的新特性

PermGen空间被移除了,取而代之的是Metaspace(JEP 122)。JVM选项-XX:PermSize与-XX:MaxPermSize分别被-XX:MetaSpaceSize与-XX:MaxMetaspaceSize所代替。


参考文献

Java8 新特性终极指南

译 -- Java 8的新特性—终极版

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 声明:本文翻译自Java 8 Features Tutorial – The ULTIMATE Guide,翻译过...
    程序熊大阅读 86,847评论 25 389
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,001评论 19 139
  • 原链接:http://www.cnblogs.com/langtianya/p/3757993.html JDK各...
    把爱放下会走更远阅读 1,129评论 0 10
  • 花匠的丁香落了。 花匠退隐,从将军退下。庭院还是那个庭院,丁香也是那时的丁香。花匠不卖花了,整日庭院大开,供游...
    鬼闻香阅读 225评论 0 0
  • 今天可谓是万里碧空,秋高气爽,今天早上被晨阳妈妈的电话吵醒了。醒来一看,快九点了。因为这几天演出特别累!每次回来都...
    阿涛演艺阅读 292评论 0 5