校招面试

ReentrantLock:重入锁 Reference:引用 concurrent:并发 CountDownLatch:闭锁,原子变量 CyclicBarrier:循环屏障,Java中线程计数器 Semaphore:信号量 ThreadPoolExecutor:线程池的底层类
阅读全文

Optional类

Optional类 概念 Optional类是一个容器类,代表一个值存在或者不存在,原来null表示一个值不存在,现在Optional可以更好的表达这个概念,并且可以规避空指针异常
阅读全文

并行流与顺序流

并行流与顺序流 并行流 并行流就是把一个内容分成多个数据库,并用不同的线程分别处理每个数据块的流 Java8中将并行流进行了优化,我们可以很容易的对数据进行并行操作,Stream
阅读全文

Stream API

Stream API 了解Stream Java8中有两个比较大的改变 Lambda表达式 Stream API (java.util.stream.*) Stream是Java8中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找,过滤和映射数据等操作。使用Stream
阅读全文

方法引用与构造器引用

方法引用与构造器引用 方法引用 概念 若Lambda体中的内容有方法已经实现了,我们可以使用“方法引用”,可以理解为方法引用是Lambda表达式的另外一种表现形式
阅读全文

Lambda表达式

Lambda表达式 为什么要用Lambda表达式 Lambda是一个匿名函数,我们可以把Lambda表达式理解为是一段可以传递的代码,将代码像数据一样传递,这样可以写出更简洁、更灵活的代码,作为一个更紧凑的代码风格,使Java语言表达能力得到了提升
阅读全文

Java8新特性

Java8新特性 主要特性 Lambda表达式 函数式接口 方法引用与构造器引用 Stream API 接口中默认方法与静态方法 新时间日期API 最大化减少空指针异常(Optional)
阅读全文

Synchronized和Lock的区别

Synchronized和Lock的区别 前言 早期的时候我们对线程的主要操作为: synchronized wait notify 然后后面出现了替代方案 lock await signal 问题 synchronized 和 lock 有什么区别?用新的lock有什么好处?举例说明
阅读全文

阻塞队列

阻塞队列 概念 队列 队列就可以想成是一个数组,从一头进入,一头出去,排队买饭 阻塞队列 BlockingQueue 阻塞队列,排队拥堵,首先它是一个队列,而一个阻塞队列在数据结构中所起的作用大致如下图所示:
阅读全文

Semaphore:信号量

Semaphore:信号量 概念 信号量主要用于两个目的 一个是用于共享资源的互斥使用 另一个用于并发线程数的控制 代码 我们模拟一个抢车位的场景,假设一共有6个车,3个停车位
阅读全文