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. Java集合Map基本方法

    jdk1.7 api中的方法摘要: 参考java集合大全图:https://www.cnblogs.com/xkzhangsanx/p/10889114.html Map为所有Map子类的接口.

  2. tkinter事件键盘绑定

    tkinter事件键盘绑定 from tkinter import * root=Tk() #创建一个框架,在这个框架中响应事件 frame=Frame(root, width=200,height= ...

  3. 用Python爬E站本

    用Python爬E站本 一.前言 参考并改进自 OverJerry 大佬的 教你怎么用Python爬取E站的本子_OverJerry. 本文为技术学习记录,不提供访问无存在网站的任何方法,也不包含不和 ...

  4. 3 CVE-2017-11882漏洞分析

    CVE-2017-11882漏洞分析 操作系统:Windows7 32/64位 专业版.Linux 软件:office 2003 sp3 工具:OD.IDA.Python模块.msfconsole 1 ...

  5. Vue组件间通信6种方式

    摘要: 总有一款合适的通信方式. 作者:浪里行舟 Fundebug经授权转载,版权归原作者所有. 前言 组件是 vue.js 最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的 ...

  6. (原+修改)Pip使用国内源安装opencv

    转载请注明出处: https://www.cnblogs.com/darkknightzh/p/12000823.html 参考网址: https://www.imooc.com/article/34 ...

  7. 07-numpy-笔记-join

    字符串.join(字符串序列) 一目了然: #!/usr/bin/python # -*- coding: UTF-8 -*- str = "-"; seq = ("a& ...

  8. 学习:VB之4C法

    前言:4C法对于单纯的本地验证的话应该比较好使,但是基于网络验证可能就不是很好用了,尽管到了第二个窗口,功能应该还是不能用 逆向过程: 1.直接载入OD,发现第一条汇编指令如下 0040120C &g ...

  9. spring学习3

    spring整合JDBC spring提供了很多模板整合Dao技术 spring中提供了一个可以操作数据库的对象.对象封装了jdbc技术. JDBCTemplate => JDBC模板对象    ...

  10. VMware Workstation创建Windows2012server虚拟机

    镜像文件需要下载到物理机 3.需要输入iso文件 对应的密钥 定义普通的用户名与密码 4.指定按照路径 5. 大概都是下一步 根据提示需要重启 选择带GUI的服务器进行安装,因为windows命令行模 ...