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. 根据swagger.json生成flutter model,暂无空安全支持

    一般的服务端类型都有泛型支持,对于flutter来说虽然也支持泛型,但是在序列化这里却始终存在问题,flutter不允许用反射,对于flutter项目的开发来说除了画页面,可能最烦人的就是跟服务端打交 ...

  2. supervisor 使 celery后台运行

    1.安装 supervisor pip install supervisor  2.创建supervisor配置文件,命令如下: 进入项目文件 echo_supervisord_conf > s ...

  3. typeof的作用及用法

    typeof的作用及用法 1.检查一个变量是否存在,是否有值. typeof在两种情况下会返回"undefined":一个变量没有被声明的时候,和一个变量的值是undefined的 ...

  4. YOLOV4知识点分析(二)

    YOLOV4知识点分析(二) 6. 数据增强相关-mixup 论文名称:mixup: BEYOND EMPIRICAL RISK MINIMIZATION 论文地址:https://arxiv.org ...

  5. 基本FTP服务: 文件传输协议

    1.服务端虚拟机Server,安装可以提供FTP服务软件 [root@server0 ~]# yum -y install vsftpd 2.虚拟机Server操作,启动 vsftpd服务,设置为开机 ...

  6. 《四大点,搞懂Redis到底快在哪里?》

    一.开发语言 二.纯内存访问 三.单线程 四.非阻塞多路I/O复用机制 前言 Redis是一种基于键值对(Key-Value)的NoSQL数据库 ,Redis的Value可以由String,hash, ...

  7. 数据库创建好之后如何创建scott用户

    SQL> conn / as sysdba Connected. SQL> @%oracle_home%\rdbms\admin\utlsampl.sql 建立完成以后会自动退出sqlpl ...

  8. Java安全之反序列化回显与内存马

    Java安全之反序列化回显与内存马 0x00 前言 按照我个人的理解来说其实只要能拿到Request 和 Response对象即可进行回显的构造,当然这也是众多方式的一种.也是目前用的较多的方式.比如 ...

  9. 『动善时』JMeter基础 — 50、使用JMeter测试WebSocket接口

    目录 1.什么是WebSocket接口 2.为什么需要WebSocket 3.测试WebService接口前的准备 4.WebSocket Sampler组件界面详解 5.使用JMeter测试WebS ...

  10. kubelet分析-csi driver注册分析-Node Driver Registrar源码分析

    kubernetes ceph-csi分析目录导航 Node Driver Registrar分析 node-driver-registrar是一个sidecar容器,通过Kubelet的插件注册机制 ...