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。通过观看这些开发者的直播或视频,你可以看到如何应用这些新功能。

Java 8五大主要功能为开发者提供了哪些便利?的更多相关文章
- 微软正式发布VS2015和.Net为开发者提供数百个新功能
今天,我很高兴地向大家宣布:Visual Studio 2015 和 .Net 4.6 的正式版本现已提供下载! 自去年十一月我们提出了微软开发技术的愿景:让所有开发者,无论他在什么平台,开发哪种应用 ...
- JBuss--为所有JFinal开发者提供二次开发的后台管理系统
百度搜索:JBuss 或jfinal.com官网https://www.jfinal.com/share/1704 JBuss背景: 2018年6月1日,作者“为道日损”从上海一家xxx公司离职,那时 ...
- 华为云DevCloud为开发者提供高效智能的可信开发环境
在HUAWEI CONNECT 2019期间,在华为云云服务开发者分论坛上,华为云布道师做了<CloudIDE:开发者的高效.智能的可信开发环境>专题演讲,主要介绍了华为云DevCloud ...
- 关于 HSSF 和 XSSF 功能的开发者入门指南 (Apache POI 操作 Excel)
关于 HSSF 和 XSSF 功能的开发者入门指南 笔者深夜无眠,特此对本文翻译一部分,未完成部分待后续更新 本文源文地址 意欲使用 HSSF 和 XSSF 功能快熟读写电子表格?那本文就是为你而写的 ...
- Java 基本数据类型 sizeof 功能
Java 基本数据类型 sizeof 功能 来源 https://blog.csdn.net/ithomer/article/details/7310008 Java基本数据类型int 32b ...
- Java实现发邮件功能---网易邮箱
目录 Java实现发邮件功能 前言 开发环境 代码 效果 结束语 Java实现发邮件功能 前言 电子邮件的应用场景非常广泛,例如新用户加入,即时发送优惠清单.通过邮件找回密码.监听后台程序,出现异常自 ...
- Java文件操作API功能与Windows DOS命令和Linux Shell 命令类比
Java文件操作API功能与Windows DOS命令和Linux Shell 命令类比: Unix/Linux (Bash) Windows(MS-DOS) Java 进入目录 cd cd - 创建 ...
- ElasticSearch7.3学习(三十)----ES7.X SQL新特性解析及使用Java api实现sql功能
一.ES7 sql新特性 1.1 数据准备 创建索引及映射 建立价格.颜色.品牌.售卖日期 四个字段 PUT /tvs PUT /tvs/_mapping { "properties&quo ...
- 微软发布独立Android模拟器 为开发者提供测试
微软发布了 Visual Studio 2015 正式版,除了免费的社交版之外,另外也有付费的专业版.这套工具除了提供 Windows 应用程序的整合环境之外,你也可以利用它来开发 Android 程 ...
随机推荐
- SQL Server镜像自动生成脚本
SQL Server镜像自动生成脚本 镜像的搭建非常繁琐,花了一点时间写了这个脚本,方便大家搭建镜像 执行完这个镜像脚本之后,最好在每台机器都绑定一下hosts文件,不然的话,镜像可能会不work 1 ...
- 小白解决CENTOS7错误:Cannot find a valid baseurl for repo: base/7/x86_6
刚入手的MacBook想着学点东西,本汪还是决定玩玩CentOS服务器,安装好了VirtualBox + CentOS. 打开一看,懵逼了!命令行! 行吧,先装个图形界面: $sudo yum gro ...
- C# 条形码操作【源码下载】
本篇介绍通过C#生成和读取一维码.二维码的操作. 目录 1. 介绍:介绍条形码.条形码的分类以及ZXing.Net类库. 2. 一维码操作:包含对一维码的生成.读取操作. 3. 二维码操作:包含对二维 ...
- runtime梳理。
一.runtime简介 RunTime简称运行时.OC就是运行时机制,也就是在运行时候的一些机制,其中最主要的是消息机制. 对于C语言,函数的调用在编译的时候会决定调用哪个函数. 对于OC的函数,属于 ...
- redis 学习笔记(2)
redis-cluster 简介 redis-cluster是一个分布式.容错的redis实现,redis-cluster通过将各个单独的redis实例通过特定的协议连接到一起实现了分布式.集群化的目 ...
- History API与浏览器历史堆栈管理
移动端开发在某些场景中有着特殊需求,如为了提高用户体验和加快响应速度,常常在部分工程采用SPA架构.传统的单页应用基于url的hash值进行路由,这种实现不存在兼容性问题,但是缺点也有--针对不支持o ...
- js 基础篇(点击事件轮播图的实现)
轮播图在以后的应用中还是比较常见的,不需要多少行代码就能实现.但是在只掌握了js基础知识的情况下,怎么来用较少的而且逻辑又简单的方法来实现呢?下面来分析下几种不同的做法: 1.利用位移的方法来实现 首 ...
- Android系统默认对话框添加图片
开发工具Android Studio 今天公司UI要求软件对话框改成加图片的,以前没有做过,所以就学习了一下,废话不多说, 看效果: 创建XML文件dialog_lsit_item.xml <L ...
- Android(安卓)-------CardView
1.activity_main.xml <android.support.v7.widget.CardView android:id="@+id/cardView" andr ...
- 进程监控工具supervisor 启动Mongodb
进程监控工具supervisor 启动Mongodb 一什么是supervisor Superviosr是一个UNIX-like系统上的进程监控工具. Supervisor是一个Python开发的cl ...