- 博客(6)
- 问答 (1)
- 收藏
- 关注
原创 等待和通知机制(wait和notify)
1. 等待和通知机制的实现wait() 方法wait() 是 Object 类的方法,它的作用是使当前执行代码的线程进行等待,该方法将当前线程置入“预执行队列”中,并在 wait() 所在的代码行处停止执行,直到接到通知或者被中断才能继续执行。线程必须获得该对象的对象锁,即只能在同步方法或者同步方法块中调用 wait() 方法,在执行 wait() 方法后,当前线程释放所拥有的对象锁,如果 w...
2019-04-10 23:20:27 1095
原创 Java8 | Optional类
一、什么是Optional类Optional<T> 类是一个容器类,它可以保存类型 T 的值,代表这个值存在。或者仅仅保存 null,代表这个值不存在。原来用 null 表示一个值不存在,现在使用 Optional 可以更好的表达二、Optional类的方法1. 创建Optional类对象的方法Optional.of(T t):创建一个 Optional 实例,对象 t 必...
2019-04-09 21:37:46 1285
原创 Java8 | 关于Stream
一、关于StreamStream 是 Java8 中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。使用 Stream API 对集合数据进行操作,就类似于使用 SQL 执行的数据库查询。也可以使用 Stream API 来并行执行操作。简言之,Stream API 提供了一种高效且易于使用的处理数据的方式二、什么是StreamStr...
2019-04-07 16:54:48 1908
原创 Java8 | 方法引用
一、什么是方法引用方法引用就是,当要传递给Lambda体的操作,已经有实现的方法了,就可以使用方法引用方法引用可以看做是Lambda表达式深层次的表达。换句话说,方法引用就是Lambda表达式,也就是函数式接口的一个实例,通过方法的名字来指向一个方法,可以认为是Lambda表达式的一个语法糖要求:实现接口的抽象方法体的参数列表和返回值类型,必须与方法引用的方法的参数列表和返回值类型保持一致...
2019-04-07 16:50:51 418
原创 Java8 | 函数式接口
一、什么是函数式接口函数式接口便是只包含一个抽象方法的接口,它包含以下内容可以通过 Lambda 表达式来创建该接口的对象。(若 Lambda 表达式抛出一个非运行时异常 ,那么该异常需要在目标接口的抽象方法上进行声明)可以在一个接口上使用 @FunctionalInterface 注解,这样做可以检查它是否是一个函数式接口,同时 javadoc 也会包含一条生命,说明该接口是一个函数式接...
2019-04-04 09:38:40 327
原创 Java集合中的fail-fast快速失败机制
一、什么是 fail-fast 机制fail-fast 机制是java集合(Collection)中的一种错误机制。当多个线程对同一个集合的内容进行操作时,就可能会产生 fail-fast 事件。例如:当某一个线程A通过 iterator 去遍历某集合的过程中,若该集合的内容被其他线程所改变了;那么线程A访问集合时,就会抛 ConcurrentModificationException 异常,产...
2019-04-03 20:40:31 1784 1
空空如也
一个关于二叉树建立的问题
2017-03-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人