Java8已经推出,让我们看看他的魅力。让我们看看他改变较大的部分。

  一、java8概述

  Java8是由Oracle(甲骨文)公司与2014年3月27日正式推出的。Java8同时推出有3套语言系统,分别是Java SE8、Java SE Emebbled 8、Java ME8。

  Java SE8较以往的系统增强的功能有:

  ①增强了对集合式操作语言——lambda表达式的支持,“Lambda 表达式”(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction),是一个匿名函数,即没有函数名的函数。Lambda表达式可以表示闭包(注意和数学传统意义上的不同)。注意Lambda表达式在C#,c++等语言中得到广泛的应用,因此Java SE8将其纳入了其中。

  ②增强一些新的时间操作的api,让你对Java中的时间操作不再那么的烦恼。总而言之,就是Instant,LocalDate,LocalTime和LocalDateTime这几个类,让你操作时间的不再需要指定所谓的时区,系统自动判断,这样我们程序员的工作轻松了很多。

  ③Java SE8 引入了全新的Nashorn js 解析引擎,这个新的解释器将会代替Java现有的Rhino解释器。据说它执行JavaScript的速度非常之快,就像世界上最快的跑车 V8s。

  ④Java SE8 省去了不少的配置工作,这样ssh架构不再繁琐。

  ⑤增强对一些了编译前的代码的异常的动态的判断,例如妈妈再也不用担心我的空指针问题的异常了。

  ⑥去掉Jvm process 影响,性能大大的增加。

  Java Emblemed SE8 与Java SE8一样的api,不同的是能够使用更小的架构来建立相应的应用。

  Java SE8 主要使其Java 更加专注与嵌入式设备的开发,例如,机顶盒的开发。

  二、下载JDK8

  在Google中,输入Java 8 download Oracle,如图:

  

  打开相应的连接,打开Oracle的下载页面,我这里是windows x64位,所以进行x64位的下载。如图:

  这样,就下好了。

  三安装JDK8

  将jdk8下载以后,进行下一步下一步以后就安装好了。如图所示:

  

  四在eclipse中使用JDK
  注意了eclipse一定4.4及其以上的版本,eclipse4.4以下版本不支持Java se8。所以了需要下载eclipse4.4以上的版本了,这里了就不做过多的赘述。

  五lambda概述

  首先,我们这里简单明白了lambda表达式的定义。Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction),是一个匿名函数,即没有函数名的函数。

  lambda表达式解决了Java语言的一些顽疾有:

  Java不能像函数式语言 ,实现了函数的嵌套。

  匿名内部类虽然能够实现当前线程的调用,但是不能够跨线程调用。

  匿名内部类还带来了一个坏处,就是this与当前对象无非区别。

  Java不能调用外部非静态非final对象。

  这种函数式接口,我们总结为:

  函数式接口(functional interface 也叫功能性接口,其实是同一个东西)。简单来说,函数式接口是只包含一个方法的接口。比如Java标准库中的java.lang.Runnable和java.util.Comparator都是典型的函数式接口。java 8提供 @FunctionalInterface作为注解,这个注解是非必须的,只要接口符合函数式接口的标准(即只包含一个方法的接口),虚拟机会自动判断,但 最好在接口上使用注解@FunctionalInterface进行声明,以免团队的其他人员错误地往接口中添加新的方法。

  Lambda语法

  包含三个部分

  一个括号内用逗号分隔的形式参数,参数是函数式接口里面方法的参数

  一个箭头符号:->

  方法体,可以是表达式和代码块,方法体函数式接口里面方法的实现,如果是代码块,则必须用{}来包裹起来,且需要一个return 返回值,但有个例外,若函数式接口里面方法返回值是void,则无需{}

  总体看起来像这样

  1(parameters) -> expression 或者 (parameters) -> { statements; }

  这就是我对lambda的概述。

  以上篇幅,是我对java8的一些初体验,Java8的体验是确实是在性能有所提高,大概提高15%左右,对语法检测也有所增强,对lambda表达式引入无非是Java8最大的亮点,这样子,我们在写函数操作时候,更加方便,总而言子,Java8一切为了开发人员

屌丝就爱尝鲜头——java8初体验的更多相关文章

  1. 屌丝就爱尝鲜头——java8总结晒一晒

    前两节讨论了那么多,这节就是两个议题,讨论了新增的日期的api,再说一说我的Java8的一些心得体会了. 首先,我们必须要搞清楚Java 8 为什么要增加新的日期的api,这是由于老的日期api非常的 ...

  2. 屌丝就爱尝鲜头——java8再判断

    这节,我们来通过具体的实例来看看Java8的具体用法. 首当其冲,就是lambda用法. 这里的案例,就是用lambda来实现runnable接口,我们知道以前用匿名内部类的方式来实现runnable ...

  3. Java8初体验(一)lambda表达式语法

    感谢同事[天锦]的投稿.投稿请联系 tengfei@ifeve.com 本文主要记录自己学习Java8的历程,方便大家一起探讨和自己的备忘.因为本人也是刚刚开始学习Java8,所以文中肯定有错误和理解 ...

  4. Java8初体验(二)Stream语法详解

    感谢同事[天锦]的投稿.投稿请联系 tengfei@ifeve.com 上篇文章Java8初体验(一)lambda表达式语法比 较详细的介绍了lambda表达式的方方面面,细心的读者会发现那篇文章的例 ...

  5. Java8初体验(2):Stream语法详解

    原文出处: 一冰_天锦 上篇文章Java8初体验(1):lambda表达式语法比较详细的介绍了lambda表达式的方方面面,细心的读者会发现那篇文章的例子中有很多Stream的例子.这些Stream的 ...

  6. Java8初体验(二)Stream语法详解(转)

    本文转自http://ifeve.com/stream/ Java8初体验(二)Stream语法详解 感谢同事[天锦]的投稿.投稿请联系 tengfei@ifeve.com上篇文章Java8初体验(一 ...

  7. Java8初体验(二)Stream语法详解---符合人的思维模式,数据源--》stream-->干什么事(具体怎么做,就交给Stream)--》聚合

    Function.identity()是什么? // 将Stream转换成容器或Map Stream<String> stream = Stream.of("I", & ...

  8. Java8初体验(1):lambda表达式语法

    原文出处: 一冰_天锦 本文主要记录自己学习Java8的历程,方便大家一起探讨和自己的备忘.因为本人也是刚刚开始学习Java8,所以文中肯定有错误和理解偏差的地方,希望大家帮忙指出,我会持续修改和优化 ...

  9. (1)java8初体验

    很多博客都拿Comparator,我也贴一下吧. java8以前的匿名内部类用来排序. //匿名内部类 @Test public void java8Test() { Person p1 = new ...

随机推荐

  1. BZOJ.4909.[SDOI2017]龙与地下城(正态分布 中心极限定理 FFT Simpson积分)

    BZOJ 洛谷 https://www.luogu.org/blog/ShadowassIIXVIIIIV/solution-p3779# 正态分布 正态分布是随机变量\(X\)的一种概率分布形式.它 ...

  2. UVALive 6908 Electric Bike dp

    Electric Bike 题目连接: https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8 ...

  3. 读think in java有感

    .... 2.2.1 保存到什么地方 程序运行时,我们最好对数据保存到什么地方做到心中有数.特别要注意的是内存的分配.有六个地方都可以保存数据: (1) 寄存器.这是最快的保存区域,因为它位于和其他所 ...

  4. Upsync:微博开源基于Nginx容器动态流量管理方案

    Upsync:微博开源基于Nginx容器动态流量管理方案 https://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=404151075& ...

  5. Android MIME类型结构

    Android MIME类型的结构 MIMW类型标准:http://tools.ietf/html/rfc2046根据MIME类型规范,MIME类型包含两部分:类型和子类型.下面是一些流行的MIME类 ...

  6. CF 222 (DIV 1)

    A: 我是bfs出一颗树,然后删掉树后面的k个结点. 其实也可以直接bfs出一块连通的s - k个点,其余的.打X就可以了. 很水的题目. /* *************************** ...

  7. 快速打开 Mac OS X 隐藏的用户资源库文件夹

    在较高版本的 Mac OS X 中,用户的资源库文件夹(/Users/username/Library)默认被系统隐藏了,从 Finder 窗口中不能直接打开. 下面介绍一个非常简单的方法来快速打开用 ...

  8. AdjustWindowRect 与 SetWindowPos

    这两个函数经常一起使用,所以放到一起讲: 1 AdjustWindowRect 函数功能:该函数依据所需客户矩形的大小,计算需要的窗口矩形的大小.计算出的窗口矩形随后可以传递给CreateWindow ...

  9. rest api上传和下载文件

    rest api上传和下载文件 function FileToString(AFileName: string): string; var LMemoryStream: TMemoryStream; ...

  10. NSURLRequest with UserAgent

    关于iOS上的http请求还在不断学习,从早先的时候发现原来iOS的http请求可以自动保存cookie到后来的,发现ASIHttpRequest会有User-Agent,到现在发现竟然NSURLRe ...