java8 介绍

  java8是2014年3月份,由Oracle发布的一个版本,又称之为jdk1.8,是现再我们在学习和工作中用的最多的一个版本。

  在jdk1.8中,java8以添加非常多的新特性,比如Lamdba表达式,函数式接口,新的时间API,流表达式Steam()...等,非常的多。我下面写的所有关于java8的新特性大部分都是参考《jaav8实战》这本书写的。

  《java8实战》这一本书我自己看了一遍后,我感觉自己掌握了非常多的东西,但是当我用到的时候,只能想起来,foreach,sort,等几个非常少的应用。大部分书中教的东西都没用到。如果想用某一个新特性,还得再去翻书,所以在这里我准备整理一下最近学习的java8新特性并且写成博客,方便以后用的时候查看。

Java8中的新特性

默认方法

  Java8里面加入默认方法这一个新特性就是因为,Java8里面加入了非常多的方法和接口,并且把原有的接口也都加入了新的方法,但是如果只是在接口里面加入了新的方法,没有默认方法,那么以前用java8以前的jdk写的代码全部都要实现所有新的方法。加入了默认方法。>>

函数式接口

  标准的函数式接口都有一个这样的注解:

    @FuntionalInterface

加入这个注解以后,接口里面只能有一个抽象法。因为编译器在扫描到这个注解以后就自动检查接口里面有多小个抽象方法,如果不是只有一个那么就会报错。>>

Lamdba 表达式

  Lamdba表达式,可以看作成匿名类的简写,并且函数式接口就是主要支持Lamdba的。并且Lamdba是java8新特性的一个非常重要的核心。>>

方法引用

  方法引用让你可以重复使用现有的方法定义,并且用Lamdba来传递他们,方法引用可以看作是一种仅仅调用特定方法的Lamdba表达式的快捷写法。>>

Stream API

  集合是Java中使用的最多的API,每一个程序都需要用到集合,并且让集合来处理数据,但是在处理集合数据的时候,用外部循环非常的麻烦,这个时候,Stream API 就是用来处理这个麻烦的。用Stream API 是非常的方便。>>

Optional 类

  Optional 类的是来自谷歌Guava的启发,然后就加入到Java8新特性中去了。Optional类主要就是为了避免空指针异常。>>

Date Time API

  这个新的时间API的作用就是代替以前的java.util.Data类,它解决了以前的java.util.Data类里面非常多的问题。>>


细节决定成败!

个人愚见,如有不对,恳请扶正!

Java8实战及自己的总结的更多相关文章

  1. java8实战:filter的简单使用

    <JAVA8实战>中的例子 要实现的功能:通过Apple的color或weight属性,对List<Apple>进行筛选. 1.首先定义com.owl.entity.Apple ...

  2. Java8实战——自己的总结

    java8 介绍   java8是2014年3月份,由Oracle发布的一个版本,又称之为jdk1.8,是现再我们在学习和工作中用的最多的一个版本.   在jdk1.8中,java8以添加非常多的新特 ...

  3. Java8实战分享

    虽然很多人已经使用了JDK8,看到不少代码,貌似大家对于Java语言or SDK的使用看起来还是停留在7甚至6. Java8在流式 or 链式处理,并发 or 并行方面增强了很多,函数式的风格使代码可 ...

  4. Java的演化-Java8实战笔记

    一个语言要想一直有活力,它也需要跟随着时代的变化去进步,Java作为一个古老的语言,它其实有太多的历史包袱,在改变的过程中需要考虑很多,但是它也在慢慢的演变,巩固自己的城墙,不让自己被遗忘在历史中(不 ...

  5. java8实战二------lambda表达式和函数式接口,简单就好

    一.Lambda 可以把Lambda表达式理解为简洁地i表示可传递的匿名函数的一种方式:它没有名称,但它有参数列表.函数主体.返回类型,可能还是一个可以抛出的异常列表. 听上去,跟我们用的匿名类,匿名 ...

  6. java8实战一------解决冗杂,java8真的很便利(抛砖)

    你的代码很容易因为需求而变化,对自己代码改来改去的你一定会觉得烦的.在我看来,java8很容易的解决了这个问题. 先来看看例子!在一堆苹果里,筛选绿色的苹果.当然,Apple类是这样子. class ...

  7. Java8实战系列一

    从java7到java8,最主要的变化可以总结为 □Lambda表达式 □ 方法引用 □流和默认方法 让我们通过一个小例子感受一下 情景 1 集合对象排序 (对list中的苹果按照重量排序) Coll ...

  8. 读书笔记,《Java8实战》第一章,为什么要关心 Java8

       开篇作者就提出,Java8所做的改变在许多方面比java历史上任何一次改变都深远.而且好消息是,这些改变会让你编辑程序来更容易,再也不用写类似类似于以前的swing中的事件处理函数的啰嗦代码了. ...

  9. Java8实战,

    Supplier 1, @FunctionalInterfacepublic interface Supplier<T> { 2,    T get(); 3, Supplier<A ...

随机推荐

  1. 2-Consul简介

    Consul 是什么 Consul 是一个支持多数据中心分布式高可用的服务发现和配置共享的服务软件,由 HashiCorp 公司用 Go 语言开发, 基于 Mozilla Public License ...

  2. Loadsh 常用方法总结以及在vue中使用Loadsh

    Loadsh 常用方法总结以及在vue中使用Loadsh Lodash 是一个一致性.模块化.高性能的 JavaScript 实用工具库.处理复杂数组,对比等可以直接采用该库,也方便快捷. 官方网站 ...

  3. css实现图片信息展示

    <style> .layui-fluid{padding: 15px;} .img-responsive{display: block;width: 100%;max-width: 100 ...

  4. Quality Center安装步骤

     测试管理工具 u 安装条件: Quality Center:QC9中文版 数据库:Oracle10 g 操作系统:Windows XP u 安装步骤: 1. 点击setup.exe,出现如下界面,点 ...

  5. Canny算法检测边缘

    Canny算法是边缘检测的一个经典算法,比单纯用一些微分算子来检测的效果要好很多,其优势有以下几点: 边缘误检与漏检率低. 边缘定位准确,且边界较细. 自带一定的滤噪功能,或者说,对噪声的敏感度要比单 ...

  6. Linux文件增删改

    Linux目录/文件增删改 创建文件 (1) # touch  <文件名称> (2) 花括号展开 touch /root/{1,3,9}.txt touch /root/{0..100}. ...

  7. 04、rpm+yum+tar解压

    Linux 下安装软件: 1.rpm 软件包的安装 一般安装都用 rpm -ivh 包路径及名字 如:rpm -ivh /soft/RealPlayer11GOLD.rpm   --安装/soft下 ...

  8. linux 下首次使用github 和其中遇到的问题

    1首先安装git sudo apt-get install git 2配置git文件 git config --global user.name "你的用户名" git confi ...

  9. Linux权限设置基础

    chmod   linux系统中文件或目录有两个属性:访问权限和文件所有者,简称“权限”和“归属”. 访问权限包括:读取.写入.可执行. 归属包括:属主(拥有该文件的用户).属组(拥有该文件的用户组) ...

  10. VUE的路由器的总结

    vue的路由器,我们在使用vue进行开发的时候,是必须用到的一个vue自带的组件,下面进行vue经常的操作的一些说明 1.vue-router的安装 在命令行里面使用 cnpm install vue ...