zoukankan      html  css  js  c++  java
  • 屌丝就爱尝鲜头——java8初体验

      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一切为了开发人员

  • 相关阅读:
    session机制、cookie机制
    TCP报头格式
    python中with语句的使用
    html一些东东
    jquery 几点注意事项
    C# 一些小东东
    Microsoft Jet 数据库引擎找不到对象'Sheet1$_'。请确定对象是否存在,并正确地写出它的名称和路径
    DataTable Select查询
    js求指定时间的周一和周日
    asp.net 页面执行过程
  • 原文地址:https://www.cnblogs.com/manuosex/p/3701130.html
Copyright © 2011-2022 走看看