最近在读《Java并发编程的艺术》,书中关于ConcurrentLinkedQueue的描述并不是基于JDK1.8 相较于JDK1.8版本的,还是修改了挺多地方的,比如关于HOPS的设计意图直接去掉了 参考贴:https://www.jianshu.com/p/08e8b0c424c0https:/ ...
分类:
其他好文 时间:
2020-06-25 17:19:59
阅读次数:
58
Resilience4j是一个轻量级、易于使用的容错库,其灵感来自Netflix Hystrix,但专为Java 8和函数式编程设计。轻量级,因为库只使用Vavr,它没有任何其他外部库依赖项。相比之下,Netflix Hystrix对Archaius有一个编译依赖关系,Archaius有更多的外部库... ...
分类:
编程语言 时间:
2020-06-25 11:35:06
阅读次数:
83
Java并发编程:Synchronized及其实现原理 Java并发编程系列: Java 并发编程:核心理论 Java并发编程:Synchronized及其实现原理 Java并发编程:Synchronized底层优化(轻量级锁、偏向锁) Java 并发编程:线程间的协作(wait/notify/sl ...
分类:
编程语言 时间:
2020-06-24 16:18:46
阅读次数:
52
已剪辑自: https://www.jianshu.com/p/bb5105303d85 JAVA并发包中有三个类用于同步一批线程的行为,分别是CountDownLatch、Semaphore和CyclicBarrier。 CountDownLatch CountDownLatch是一个计数器闭锁, ...
分类:
编程语言 时间:
2020-06-24 11:54:33
阅读次数:
54
Java面试中经常会涉及关于volatile的问题。本文梳理下volatile关键知识点。 volatile字意为“易失性”,在Java中用做修饰对象变量。它不是Java特有,在C,C++,C#等编程语言也存在,只是在其它编程语言中使用有所差异,但总体语义一致。比如使用volatile 能阻止编译器 ...
分类:
编程语言 时间:
2020-06-23 19:29:56
阅读次数:
46
在 Java 并发程序中 FutureTask 表示一个可以取消的异步运算。它有启动和取消 运算、查询运算是否完成和取回运算结果等方法。只有当运算完成的时候结果才 能取回,如果运算尚未完成 get 方法将会阻塞。一个 FutureTask 对象可以对调用 了 Callable 和 Runnable ...
分类:
其他好文 时间:
2020-06-21 15:49:03
阅读次数:
40
前言- 本系列随笔 会深入浅出,解析java多线程的各种技术及实现。 随笔主要根据 《java并发编程的艺术》一书作为参考。 本系列以使用为主要目的,本人理解有限,还望读者辩证采纳,没有过多涉及源码的讨论,重在初学者的使用,理解伪码。 预备知识:1. volatile 关键字需要有一定理解 2. A ...
分类:
编程语言 时间:
2020-06-19 18:03:24
阅读次数:
64
本文源码:GitHub·点这里||GitEE·点这里一、资源和加锁1、场景描述多线程并发访问同一个资源问题,假如线程A获取变量之后修改变量值,线程C在此时也获取变量值并且修改,两个线程同时并发处理一个变量,就会导致并发问题。这种并行处理数据库的情况在实际的业务开发中很常见,两个线程先后修改数据库的值,导致数据有问题,该问题复现的概率不大,处理的时候需要对整个模块体系有概念,才能容易定位问题。2、演
分类:
编程语言 时间:
2020-06-19 10:32:11
阅读次数:
61
@ java中的多线程(入门) 1.线程 1.1多线程的执行原理 先以一个Java中多线程的Demo为例展开解释,请看代码: //自定义的多线程类 public class MyThread extends Thread{ public MyThread(String name){ super(na ...
分类:
编程语言 时间:
2020-06-18 12:58:55
阅读次数:
43
线程池的好处Java中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序都可以使用线程池。在开发过程中,合理地使用线程池,相对于单线程串行处理(SerialProcessing)和为每一个任务分配一个新线程(OneTaskOneNewThread)的做法能够带来3个好处。降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。提高响应速度。当任务到达时,任务可以不需
分类:
编程语言 时间:
2020-06-17 16:56:29
阅读次数:
60