1、新增接口默认方法和接口静态方法
     接口默认方法用default关键字修饰,与抽象方法不同之处在于抽象方法必须要求实现,而默认方法没有这个要求,默认方法本身已经有具体的实现,所有的接口实现类将会默认继承它,也可以覆盖这个默认实现。

private interface Defaulable {  // Interfaces now allow default methods, the implementer may or// may not implement (override) them.default String notRequired() {return "Default implementation";}
}
private static class DefaultableImpl implements Defaulable {
}private static class OverridableImpl implements Defaulable {  @Overridepublic String notRequired() {return "Overridden implementation";}
}

接口静态方法用static关键字修饰,有具体的方法实现。

public interface StaticInterface {static void method() {System.out.println("这是Java8接口中的静态方法!");}
}public class Main {public static void main(String[] args) {StaticInterface.method(); // 输出 这是Java8接口中的静态方法!
    }
}

2、Lambda表达式
     Lambda表达式允许把函数作为方法的参数,由逗号分隔的参数列表、->符号和函数体三部分组成

对比使用非Lambda与使用Lambda实现

public class Test2 {public static void main(String[] args) {List<String> names = Arrays.asList("张三","李四","王五","赵六");//非Lambda表达式实现排序Collections.sort(names,new Comparator<String>() {@Overridepublic int compare(String a, String b) {return b.compareTo(a);}});//Lambda表达式实现排序Collections.sort(names,(a,b)->b.compareTo(a));System.out.println(names.toString());}}

3、函数式接口
     函数式接口指只有一个函数的接口,使用@FunctionallInterface注解来表明该接口是一个函数式接口。java.lang.Runable和java.util.concurrent.Callable就是函数式接口的例子

使用非Lambda创建线程:

         //通过匿名内部类来创建线程Thread thread1 = new Thread(new Runnable() {@Overridepublic void run() {int a = 0;for(long i = 0; i < count; i++) {a += 1;}}            });

使用Lambda表达式创建线程

        //通过Lambda表达式创建线程Thread thread2 = new Thread(()->{int a = 0;for(long i = 0; i < count; i++) {a += 1;}});

4、HashMap的底层实现由原来的数组+链表实现改为数组+链表+红黑树实现
5、JVM内存管理方面,由元空间代替了永久代
6、新增java.time包
     包含了所有关于日期、时间、时区、持续时间和时钟操作的类,这些类都是不可变的,线程安全
7、引入重复注解@Repeatable

转载于:https://www.cnblogs.com/conswin/p/10395624.html

JavaJDK8新特性相关知识整理相关推荐

  1. JDK8新特性相关知识讲解汇总

    以下是博主本人对jdk8相关新知识的学习以及讲解的汇总,如果对你帮助可以多多点赞和关注我哦~ (1)JDK8新特性-Lambda表达式详细介绍以及应用 (2)JDK8 关于中断线程的总结 (3)JDK ...

  2. Redis面试题相关知识整理

    Redis面试题相关知识整理 1.Redis的应用场景 2.Redis的特点 3.Redis对各种数据类型的操作 4.Redis的持久化机制 5.Redis的缓存穿透/缓存击穿/缓存雪崩问题 6.Re ...

  3. keil C对lib封装库反汇编成C语言,Keil软件“C语言”及“汇编”混编 —— 相关知识整理.doc...

    Keil软件"C语言"与"汇编"混编 相关知识整理 用Keil在C中嵌入汇编1 在Keil中嵌入汇编2 介绍直接嵌入汇编代码的方法4 采用汇编可能会有的好处5 ...

  4. MySQL索引相关知识整理学习

    MySQL索引相关知识整理学习 前言 一.MySQL索引 哈希索引 B+树索引 B+树的优点 聚簇索引 非聚簇索引 聚簇索引和非聚簇索引的特点及区别: 二.特殊类型的索引 1.覆盖索引 2.联合索引 ...

  5. keil c语言pdf,Keil软件“C语言”与“汇编”混编 —— 相关知识整理.pdf

    Keil软件"C语言"与"汇编"混编 -- 相关知识整理.pdf Keil 软件软件C 语言语言与与汇编汇编混编混编 相关知识整理相关知识整理 用 Keil 在 ...

  6. 【转】医学影像处理相关知识整理(一)

    转自:医学影像处理相关知识整理(一) - 知乎 Segmentation to RT structure 近日做医疗影像处理相关的内容,感慨于这方面资料不全.散碎,遂记录自己获得的一些资料以供日后查阅 ...

  7. android 最全 图片相关知识整理

    android 最全 图片相关知识整理 图片基础知识梳理 图片基础知识梳理(1) - ImageView 的 ScaleType 属性解析 图片基础知识梳理(2) - Bitmap 占用内存分析 图片 ...

  8. 数据库:MySQL相关知识整理,值得收藏!

    一.数据库引擎 选择:MyISAM相对简单,所以在效率上要优于InnoDB.如果系统插入和查询操作多,不需要事务和外键,选择MyISAM,如果需要频繁的更新.删除操作,或者需要事务.外键.行级锁的时候 ...

  9. [转]ES6、ES7、ES8、ES9、ES10新特性一览 (个人整理,学习笔记)

    目录 1.ES6新特性(2015) 1.1模块化(Module) 1.1.1导出(export) 1.1.2导入(import) 1.2箭头(Arrow)函数 1.2.1箭头函数的结构 1.3默认参数 ...

最新文章

  1. SAP PM整修流程
  2. pdf.js 在线阅读PDF
  3. [转载]如何编写无法维护的代码(3)
  4. java putall实现,Java EnumMap putAll()
  5. 【转】为什么螺丝都是六角的?
  6. 2017年12月计算机一级c,2017年12月计算机二级C语言考试操作题冲刺卷(2)
  7. IMPORTANT: BizTalk Server 2004 fixes for Windows XP SP2 and .NET FW 1.1 SP1
  8. 目标赋予生命的意义和目的
  9. 【073】Android 数据存储(SQLite)
  10. 通过追女孩时的常见对话来看你会不会聊天
  11. LeetCode.868-二进制距离(Binary Gap)
  12. p标签中的文字垂直居中
  13. Scratch 飞机对战
  14. 计算机字体在哪里调整,电脑字体太小怎么调 电脑字体调整方法【图文】
  15. 三维地图之Google earth安装使用
  16. 该应用非官方正版应用,请去应用宝下载正版后进行qq登陆。(错误码:100044)
  17. 大一计算机应用基础学什么,2017大学计算机应用基础试题
  18. 蓝桥杯单片机选择器和锁存器
  19. 小写金额转换为人民币大写
  20. 如何做好开始游戏选择英雄界面[不是标题党]

热门文章

  1. 重磅更新!YoloV4最新论文!解读yolov4框架
  2. 【TensorFlow】TensorFlow函数精讲之 tf.random_normal()
  3. 厉害了!牛顿法深度学习优化器,效果比肩SGD和Adam
  4. 2018 年度人工智能热门事件大盘点:「悲喜交加」
  5. 国土空间规划基数转换初探
  6. java 事件分发机制_用两段代码带你看懂事件分发机制
  7. java软件架构设计方案_Java软件架构设计慨论
  8. python的for语句写新的字符串_Python:for循环遍历对象,而不是字符串
  9. oracle12cr2发布时间,Oracle 12cR2 发布在即
  10. 用位运算将十进制转为二进制python_python 十进制与二进制以及位运算