随笔分类 - JUC
摘要:1. 概述 在 Java8 之前,我们通常是通过 for 循环或者 Iterator 迭代来重新排序合并数据 ,又或者通过 重新定义 Collections.sorts 的 Comparator 方法 来实现,这两种方式对于大数据量系统来说,效率并不是很理想。 Java8 中添加了一个新的接口类 S
阅读全文
摘要:1. 概述 函数式接口(Functional Interface)就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。 提到函数式接口肯定少不了 Lambda 表达式,函数式接口可以隐式的转换为 Lambda 表达式。 我们可以选择向各种各样的方法和构造函数传递 Lambda 表达式,包括
阅读全文
摘要:1. 什么是 Fork/Join 框架 Fork/Join 框架是 Java7 提供了的一个用于并行执行任务的框架, 是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架 。 它的主要思想是:分而治之。 我们再通过 Fork 和 Join 这两个单词来理解下 Fork/Jo
阅读全文
摘要:JMM 的全称是 Java Memory Model(Java内存模型) JMM 的关键技术点都是围绕着多线程的 原子性、可见性 和 有序性 来建立的,这也是 Java 解决多线程并行机制的环境下,定义出的一种规则,意在保证多个线程间可以有效地、正确地协同工作。 JMM 关于同步的规定: 线程解锁前
阅读全文
摘要:在 Java 并发中,我们最初接触的应该就是 synchronized 关键字,但是 synchronized 属于重量级锁,很多时候会引起性能问题, volatile 也是个不错的选择,但是 volatile 不能保证原子性,只能在某些场合下使用。 像 synchronized 这种独占锁属于悲观
阅读全文
摘要:1. ContDownLatch(倒计时器) ContDownLatch是一个同步辅助类,在完成某些运算时,只有其他所有线程的运算全部完成,当前运算才继续执行,这就叫闭锁。 ● CountDownLatch(int count):实例化一个倒计数器,count指定计数个数 ● countDown()
阅读全文
摘要:1. 什么是JUC JUC 指的是 java.util .concurrent 工具包。这是一个处理线程的工具包,在此包中增加了在并发编程中很常用的工具类,用于定义类似于线程的自定义子系统、包括线程池、异步 IO 和轻量级任务框架,还提供了设计用于多线程上下文中的 Collection 实现等; J
阅读全文

浙公网安备 33010602011771号