Java 8五大主要功能为开发者提供了哪些便利?

两年前当Java 8发布后,立即受到了业界的欢迎,因为它大大提高了Java的性能。它独特的卖点是,顾及了编程语言的每一个方面,包括JVM(Java虚拟机)和编译器,并且改良了其它帮助系统。

 

Java是被搜索得最多的编程语言之一。据Tiobe 指数在最近公布的调查结果显示,Java高居榜首。Tiobe指数的结果每月更新一次。它的排名是以世界各地的程序员,工程师,以及编程课程和第三方供应商为对象,把这些群体在谷歌、必应、雅虎、维基百科、亚马逊、youTube及百度这些流行搜索引擎上的搜索行为作为依据,统计出各种编程语言被搜索的情况。Tiobe指数不是要比较哪种编程语言是最好的,或者哪些代码被用得最多。它旨在帮助编程人员了解自己所掌握的编程技术是否跟得上潮流。当需要使用某种语言开发一个新软件时,编程人员可以参考这些指数,帮助自己做出决定。

 

(数据来源:http://www.tiobe.com/tiobe-index/

 

回到Java 8的问题上来,它有哪些新功能呢?下面列举5个最主要的功能。

 

1. Lambda expressions Lambda 表达式)

Lambda表达式是一个匿名函数,它在函数式编程中被广泛使用。即使是基于Java虚拟机的编程语言 Scala和Clojure从一开始就有了Lambda表达式,但直到现在,Java都不支持Lambda表达式,因此在编程时就缺少了一个好方法去写代码。

 

使用Lambda表达式,开发者可以在任何地方使用函数,它也可以作为代码。在此之前,Java开发者不得不使用带有lambdas的匿名模板类,但这样会令工作变得乏味和难以维护。使用lambda表达式就令工作轻松多了。开发者只需要使用一个用逗号分隔的参数列表或集合就可以了,以及在正文中使用符号“->”。

 

如果有兴趣了解有关Lambda表达式的使用,可以看一下这位开发者的分享:Livestream Titles

 

 

 

2. JavaScript Nashorn

Java和Javascript一直都是不兼容的,不过Java 8全新的JVM Javascript引擎——Nashorn,可以完全解决这个问题了。

 

Nashorn在速度执行方面借鉴了SpiderMonkey 和 V8。 它还利用了Java7的特征,例如可以执行得更快的invokeDynamic,并改善了Java早期版本的弊端。更重要的是,开发者现在可以在Java的代码中直接写入JavaScript代码,而不必担心执行速度和任何兼容性的问题。

 

3. Date/time APIs

Java 8另一个很出色的附加功能是它全新的日期/时间 APIs。它借鉴了Joda time,被开发者用来弥补缺乏的支持。Java API库的属性是复杂的,它很容易令开发者犯错。为了弥补这个问题,Java 8从头开始重写了整个API。重写API的另一个原因是在Joda中有一个设计缺陷。新的APIs具有强大的属性,而且使用简单。

 

4. Stream API

java 8中的另一个新功能是Stream API,这有赖于Lambda语法。它使开发人员能够处理集合。lambda函数和stream API有助加快Java的函数式编程效率,并帮助开发人员编写更有意义的代码。

 

Stream API可以让开发者轻松地使用集合和操控它们,例如进行计算,过滤等。另外,lambda函数可以帮助开发者写一些比较简单的代码。只不过要小心不要混淆了Stream API 与InputStream和OutputStream。

 

5. Concurrent accumulators并行累加器

对开发者来说,在工作中遇到的巨大挑战之一就是如何安全地运行代码线程。一般的开发人员可能无法正确地实现线程安全,因为有太多的情况需要注意,包括需要更新多个线程访问的数字计数器。

 

用java 8,开发者可以利用并行累加器的class,它使开发者能够以线程安全的方式有效处理计数器。

 

Java 8似乎让Java找回了在过去几年里失去的荣誉。这些全新的功能将令开发者写出高质量的代码,并令java在众多编程语言中保持竞争优势。

 

除了以上提到的5大功能,Java 8还有其它新功能也是值得大家学习和交流的。在Livecoding.tv ,一个世界各地程序员分享编程直播和进行交流的社交平台上,就有很多项目是使用java开发的,其中有部分就是使用了java 8。通过观看这些开发者的直播或视频,你可以看到如何应用这些新功能。

 

posted @ 2016-09-16 19:53  cherry0327  阅读(1605)  评论(2编辑  收藏  举报