JDK1.8新特性
文章平均质量分 95
wxd_1024
嗯嗯
展开
-
一、JDK1.8—接口支持静态方法和默认方法
JDK1.8之前的接口的定义和限制接口不能用于实例化对象。 接口没有构造方法。 接口中所有的方法必须是抽象方法。 接口不能包含成员变量,除了 static 和 final 变量。 接口不是被类继承了,而是要被类实现。 接口支持多继承。JDK1.8接口支持静态方法和默认方法默认方法主要优势:1、提供了一种扩展接口的方法,而不破坏现有代码。如果一个已经投入使用的接口需要扩展...原创 2019-03-27 20:16:51 · 3946 阅读 · 0 评论 -
二、JDK1.8—Lambda表达式
Lambda表达式基础语法/* * 一、Lambda 表达式的基础语法:Java8中引入了一个新的操作符 "->" * 该操作符称为箭头操作符或 Lambda 操作符,箭头操作符将 Lambda 表达式拆分成两部分: * * 左侧:Lambda 表达式的参数列表 * 右侧:Lambda 表达式中所需执行的功能, 即 Lambda 体 * * 语法格式一:无参数...原创 2019-07-16 12:00:51 · 132 阅读 · 0 评论 -
三、JDK1.8—函数式接口
函数式接口只包含一个抽象方法的接口,称为函数式接口。 你可以通过 Lambda 表达式来创建该接口的对象。(若 Lambda表达式抛出一个受检异常,那么该异常需要在目标接口的抽象方法上进行声明)。我们可以在任意函数式接口上使用 @FunctionalInterface 注解,这样做可以检查它是否是一个函数式接口,同时 javadoc 也会包含一条声明,说明这个接口是一个函数式接口...原创 2019-07-16 12:37:49 · 312 阅读 · 0 评论 -
四、JDK1.8—方法引用与构造器引用
方法引用 当要传递给Lambda体的操作,已经有实现的方法了,可以使用方法引用!(实现抽象方法的参数列表,必须与方法引用方法的参数列表保持一致!)方法引用:使用操作符 “::” 将方法名和对象或类的名字分隔开来可以将方法引用理解为 Lambda 表达式的另外一种表现形式如下三种主要使用情况: 1、对象引用::实例方法 2、类::静态方法 3、类::实例方法...原创 2019-07-18 11:59:29 · 423 阅读 · 0 评论 -
五、JKD1.8—Lambda表达式和Stream API的简介
Lambda简介:Lambda 是一个匿名函数,我们可以把 Lambda 表达式理解为是一段可以传递的代码(将代码像数据一样进行传递)。可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使Java的语言表达能力得到了提升。public class TestLDemo { @Test public void test1(){ ////之前的匿名内部类示例1 Comp...原创 2019-07-16 10:44:50 · 266 阅读 · 0 评论 -
六、JDK1.8—Stream API
StreamStream 是 Java8 中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。使用Stream API 对集合数据进行操作,就类似于使用 SQL 执行的数据库查询。也可以使用 Stream API 来并行执行操作。简而言之,Stream API 提供了一种高效且易于使用的处理数据的方式。注意: ①Stream...原创 2019-07-18 17:49:05 · 334 阅读 · 0 评论 -
七、JDK1.8—Optional类
Optional<T> 类(java.util.Optional) 是一个容器类,代表一个值存在或不存在,原来用 null 表示一个值不存在,现在 Optional 可以更好的表达这个概念。并且可以避免空指针异常/* * 一、Optional 容器类:用于尽量避免空指针异常 * Optional.of(T t) : 创建一个 Optional 实例 * Optiona...原创 2019-07-19 14:04:47 · 112 阅读 · 0 评论 -
八、JDK1.8—新时间日期 API(java.time包)
新时间日期 API(java.time包)使用 LocalDate、LocalTime、LocalDateTime(人读的时间) LocalDate、LocalTime、LocalDateTime 类的实 例是不可变的对象,是线程安全的分别表示使用 ISO-8601日历系统的日期、时间、日期和时间。它们提供了简单的日期或时间,并不包含当前的时间信息。也不包含与时区相关的信息。注...原创 2019-07-19 15:19:58 · 309 阅读 · 0 评论 -
九、JDK1.8—并行流与串行流
并行流并行流就是把一个内容分成多个数据块,并用不同的线程分 别处理每个数据块的流。Java 8 中将并行进行了优化,我们可以很容易的对数据进行并 行操作。Stream API 可以声明性地通过 parallel() 与 sequential() 在并行流与顺序流之间进行切换。Fork/Join 框架Fork/Join 框架:就是在必要的情况下,将一个大任务,进行拆分(fork)成若...原创 2019-07-18 19:06:56 · 1007 阅读 · 0 评论 -
十、JDK1.8—HashMap以及JVM的优化
JDK1.8以前的HashMap 原来的hashMap采用的数据结构是哈希表(数组+链表),hashMap底层是Entry类型的,名字叫做table的数组,当new一个hsahMap的时候会构造一个容量为16,负载因子为0.75的空hashMap,它的吞吐临界值为16 * 0.75 = 12。当添加达到吞吐临界值的时候会用resize的方法2倍扩容,并且通过transfer()将原...原创 2019-07-15 17:23:42 · 364 阅读 · 0 评论