posts - 35,  comments - 8,  views - 18万
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

随笔分类 -  Java并发平时积累

ArrayList的ConcurrentModificationException异常和多线程下的异常
摘要:一、ConcurrentModificationException ArrayList源码看为什么出现异常: 由上可知,如果遍历中作get,remove操作都会改变modCount的值,但是此时expectedModCount还是保存以前的modCount的值,肯定不相等,抛出异常。 二、多线程下的 阅读全文
posted @ 2019-03-04 17:37 程序员自我修养张振力 阅读(1234) 评论(0) 推荐(0) 编辑
线程池/任务未抓取异常处理
摘要:问题描述: 使用 java.util.TimerTask 任务中断(遇到未抓取异常时后续任务不执行); 2. 使用 java.util.concurrent.Executors.xxx 线程池对于未抓取异常无异常输出,无法定位问题; 定位方法: 对比 TimerTask/Executors/Quar 阅读全文
posted @ 2019-02-21 21:47 程序员自我修养张振力 阅读(863) 评论(0) 推荐(0) 编辑
Java并发集合(二)-ConcurrentSkipListMap分析和使用
摘要:一、ConcurrentSkipListMap介绍 ConcurrentSkipListMap是线程安全的有序的哈希表,适用于高并发的场景。ConcurrentSkipListMap和TreeMap,它们虽然都是有序的哈希表。但是,第一,它们的线程安全机制不同,TreeMap是非线程安全的,而Con 阅读全文
posted @ 2018-10-13 17:10 程序员自我修养张振力 阅读(23763) 评论(0) 推荐(3) 编辑
Java并发集合(一)-CopyOnWriteArrayList分析与使用
摘要:CopyOnWriteArrayList 阅读全文
posted @ 2018-10-13 17:01 程序员自我修养张振力 阅读(3275) 评论(0) 推荐(2) 编辑
Java并发-ConcurrentModificationException原因源码分析与解决办法
摘要:一、异常原因与异常源码分析 对集合(List、Set、Map)迭代时对其进行修改就会出现java.util.ConcurrentModificationException异常。这里以ArrayList为例,例如下面的代码: ArrayList类中包含了实现Iterator迭代器的内部类Itr,在It 阅读全文
posted @ 2018-10-13 13:40 程序员自我修养张振力 阅读(2072) 评论(0) 推荐(0) 编辑
Java并发-多线程面试(全面)
摘要:1. 什么是线程?2. 什么是线程安全和线程不安全?3. 什么是自旋锁?4. 什么是Java内存模型?5. 什么是CAS?6. 什么是乐观锁和悲观锁?7. 什么是AQS?8. 什么是原子操作?在Java Concurrency API中有哪些原子类(atomic classes)?9. 什么是Exe 阅读全文
posted @ 2018-10-13 10:03 程序员自我修养张振力 阅读(1367) 评论(0) 推荐(0) 编辑
Java并发:线程间数据传递和交换
摘要:一、通过SynchronousQueue方式实现线程间数据传递: 线程A与线程B共同持有一个SynchronousQueue的引用,线程B调用take方法,阻塞以等待; 线程A运行后计算出结果,将结果put到queue中; 二、线程Exchanger工具类实现线程间的数据交换: 当一个线程到达exc 阅读全文
posted @ 2018-10-04 22:40 程序员自我修养张振力 阅读(8473) 评论(0) 推荐(0) 编辑
Java并发-UncaughtExceptionHandler捕获线程异常信息并重新启动线程
摘要:Java并发-UncaughtExceptionHandler捕获线程异常信息并重新启动线程 一、捕获异常并重新启用线程 因为“thread-数据同步线程”一直处于报错,执行失败的情况下,所以会触发UncaughtExceptionHandler的实现类MyExceptionHandler,在MyE 阅读全文
posted @ 2018-08-31 20:15 程序员自我修养张振力 阅读(6475) 评论(1) 推荐(0) 编辑
Java并发-ThreadGroup获取所有线程
摘要:一:获取当前项目所有线程 阅读全文
posted @ 2018-08-31 19:22 程序员自我修养张振力 阅读(4991) 评论(0) 推荐(1) 编辑
Java并发-懒汉式单例设计模式加volatile的原因
摘要:volatile单例 阅读全文
posted @ 2018-08-16 18:30 程序员自我修养张振力 阅读(5896) 评论(0) 推荐(0) 编辑
Java并发-volatile的原理及用法
摘要:volatile的原理及使用场景、可见性、有序性、原子性。 阅读全文
posted @ 2018-08-16 14:22 程序员自我修养张振力 阅读(8172) 评论(1) 推荐(0) 编辑

点击右上角即可分享
微信分享提示