摘要: 问题: Spring管理事务默认(即没有rollBackFor的情况下)可以回滚的异常是什么? 回答: RuntimeException或者Error。 抛出运行时异常,是否回滚?Yes @Transactional public boolean rollbackOn(Throwable ex) { 阅读全文
posted @ 2023-07-24 11:53 迷走神经 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 第一步:项目根目录下新建lib目录,放入需要外部引入的jar包 如下图: 第二步:添加依赖,需要指定systemPath 如下: <!-- 需要添加到私服的maven依赖包,测试时暂时使用本地依赖 --> <!--<dependency> <groupId>com.icbc</groupId> <a 阅读全文
posted @ 2023-01-31 11:56 迷走神经 阅读(1492) 评论(0) 推荐(0) 编辑
摘要: 一、简介 DelayQueue是java并发包下的延时阻塞队列,常用于实现定时任务。 二、继承体系 从继承体系可以看到,DelayQueue实现了BlockingQueue,所以它是一个阻塞队列。 另外,DelayQueue还组合了一个叫做Delayed的接口,DelayQueue中存储的所有元素必 阅读全文
posted @ 2023-01-10 17:14 迷走神经 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 一、简介 PriorityBlockingQueue是java并发包下的优先级阻塞队列,它是线程安全的,如果让你来实现你会怎么实现它呢? 还记得我们前面介绍过的PriorityQueue吗?点击链接直达Java集合之PriorityQueue源码分析 二、源码分析 2.1 属性 // 默认容量为11 阅读全文
posted @ 2023-01-09 17:53 迷走神经 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 一、简介 优先级队列,是0个或多个元素的集合,集合中的每个元素都有一个权重值,每次出队都弹出优先级最大或最小的元素。 一般来说,优先级队列使用堆来实现。 二、源码分析 2.1 主要属性 // 默认容量 private static final int DEFAULT_INITIAL_CAPACITY 阅读全文
posted @ 2023-01-06 17:59 迷走神经 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 一、简介 LinkedBlockingQueue是java并发包下一个以单链表实现的阻塞队列,它是线程安全的,至于它是不是有界的,请看下面的分析。 二、源码分析 2.1 属性 // 容量 private final int capacity; // 元素数量 private final Atomic 阅读全文
posted @ 2023-01-06 11:46 迷走神经 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 一、简介 ArrayBlockingQueue是java并发包下一个以数组实现的阻塞队列,它是线程安全的,至于是否需要扩容,请看下面的分析。 二、源码分析 2.1 属性 // 使用数组存储元素 final Object[] items; // 取元素的指针 int takeIndex; // 放元素 阅读全文
posted @ 2023-01-05 14:48 迷走神经 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 一、锁的种类 在JUC中,大量使用到了锁,而Java中往往是按照是否含有某一特性来定义锁,我们通过特性将锁进行分组归类,再使用对比的方式进行介绍,帮助大家更快捷的理解相关知识。下面给出本文内容的总体分类目录: 二、悲观锁与乐观锁 对于同一个数据的并发操作,悲观锁认为自己在使用数据的时候一定有别的线程 阅读全文
posted @ 2023-01-03 15:33 迷走神经 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 一、概述 CyclicBarrier基于ReentrantLock和Condition等待唤醒的功能实现的,在构建CyclicBarrier时,会将count-1,操作count值是直接使用ReentrantLock来保证线程安全性,如果count不为0时,则添加condition队列中,如果等于0 阅读全文
posted @ 2022-12-28 14:58 迷走神经 阅读(49) 评论(0) 推荐(0) 编辑
摘要: JUC中的同步器三个主要的成员:CountDownLatch、CyclicBarrier和Semaphore。这三个是JUC中较为常用的同步器,通过它们可以方便地实现很多线程之间协作的功能。 一、概述 CountDownLatch是基于AQS实现,当构建count对象时,传入的值其实就会赋值给AQS 阅读全文
posted @ 2022-12-28 11:42 迷走神经 阅读(32) 评论(0) 推荐(0) 编辑