• J2EE 8 新特性


    先看一下Java发展史。

    Java诞生在1995年,对应的JDK工具是jdk1.0,jdk1.1。到了1999年推出了Java 2 EE (Java 2 Platform, Enterprise Edition),是一整套JAVA企业应用开发规范,对应的jdk是1.2,也叫J2EE 1.2, 此后陆续推出J2EE 1.3,J2EE 1.4,  到了J2EE 1.5 改名为Java EE 5, 2017年推出Java EE 8,也是最新的Java EE版本。与Java EE对应的有Java SE(Java Standard Edition),

    目最新的是Java SE 10。

       Java EE有哪些规范呢?

     Java是运行在Java虚拟机(JVM)上的, 除了JAVA 还有哪些语言运行在JVM上呢?

    主要的有:kotlin、Scala、Clojure、Groovy、Jython、JRuby、Ceylon、Eta、Haxe。

    Java EE 8 有哪些新特性?

    1. 流处理(Stream Processing)
    流操作就是一个操作序列,前一项的输出是后一项的输入,看上去像一条操作流水线。这些操作本质上并行操作的。举个例子,Unix的cat、tr、sort、tail命令:

    cat file1 file2 | tr "[A-Z]" "[a-z]" | sort | tail -3

    Java 8在java.util.Stream包中增加了Stream API,使用这种流处理模式,Java 8 可以透明地把不相关的操作放到多个CPU的多个内核上并行执行。

    2、把一段代码作为参数传递给另外一个方法
    也就是把一个方法作为参数传递给另外一个方法,这就是函数式编程范式,相对应的有命令式编程(面向对象编程属于命令式编程)。

    函数式编程范式需要注意两点:一是不能访问共享的可变数据、二是能够把安函数或方法也就代码作为参数传给另外一个方法。

    函数式编程与面向对象编程各有优缺点,我们的理念式吸收两者优秀的部分,Java不断在演变,为了保护我们作为Java程序员的职业生涯,需要我们去学习Java 8。

    在Java中有基本类型的值,比如整数值123、双精度数123.66、字符串值’123’,也有引用类型的值,比如象的引用值、数组的引用值。在Java8中引入了函数式编程,可以把函数也当作值,函数和方法式同一个概念,也就是把方法当作一个值。

    举例,筛选一个目录中所有隐藏的文件:


    这里把File类中的isHidden方法作为参数传给了File类的另外一个方法listFiles。注意java 8提供了方法引用语法 :: 两个冒号。

    Java 8除了允许把函数(方法)作为值,还支持匿名函数作为值,包括Lambda (匿名函数),举例如下:(Integer x)->  x +1 ,把x作为输入参数,x+1作为输出结果。

    3、  Stream API(流)
    流允许以声明性方式处理数据集合,集合类式Java中重要的数据对象,Java 8 可以用流的方式操作集合数据。举例:

    注意parallelStream()式并行流计算,可以充分利用多CPU和多核计算。

    4 默认方法
    上面的例子List抽象类继承自Collection接口,ArrayList是List抽象类的具体实现子类,在Java 8之前,无论ArrayList、List还是Collection里都没有提供stream和parallelStream() 方法。

    难道Java 8 为Collection接口增加了新的方法了吗?

    其实是Java8在接口中增加了一个默认的方法并实现了它,不需要这个接口的实现类去实现。打开Collection.java源码,可以看到:

    这就给接口设计者提供一种扩充接口的方式,而有不会破坏现有的代码。Java8在接口声明中使用新的default关键字来表示这一点。
    ————————————————
    版权声明:本文为CSDN博主「liuhaiguang2012」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/liuhaiguang2012/article/details/82688959

  • 相关阅读:
    C# 汉字转拼音(转)
    检测Sql Server服务器SQL语句执行情况
    查看sql执行的情况
    Sql Server简单加密与解密 【转】
    细说SQL Server中的加密【转】
    asp.net发布到IIS中出现错误:处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”
    HTTPS那些事(三)攻击实例与防御
    HTTPS那些事(二)SSL证书
    HTTPS那些事(一)HTTPS原理
    achartengine(Google给android提供的画图工具包)的介绍和使用
  • 原文地址:https://www.cnblogs.com/wangle1001986/p/12886812.html
Copyright © 2020-2023  润新知