自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (12)
  • 收藏
  • 关注

原创 【并发编程】快速失败和安全失败

由于修改时对原有集合进行了拷贝,而迭代器遍历的是原有集合,所以在遍历过程中发生的修改并不能被迭代器检测到,所以不会触发 ConcurrentModificationException。基于拷贝内容的优点是避免了 Concurrent Modification Exception,但同样地,迭代器并不能实时地访问到修改后的内容,需要修改完成并覆盖之后才能看到新的内容。场景:java.util 包下的集合类都是快速失败的,不能在多线程下并发修改,或者迭代过程中使用集合的方法修改,这里的修改指的是结构性变更。

2023-03-15 10:40:12 116

原创 【并发编程】volatile 是如何保证可见性的

但是 cpu 是不会直接操作内存的,每个 cpu 都会有自己的缓存,操作缓存的速度比操作主存更快。问题就出现在第二步,因为每个 CPU 操作的是各自的缓存,所以不同的 CPU 之间是无法感知其他CPU 对这个变量的修改的,最终就可能导致结果与我们的预期不符。在这种情况下,不同的 CPU 之间就可以感知其他 CPU 对变量的修改,并重新从内存中加载更新后的值,因此可以解决可见性问题。在单核 cpu 的情况下,是不存在可见性问题的,如果是多核 cpu,可见性问题就会暴露出来。各自将修改后的值刷新到主存中。

2023-03-15 10:21:18 370

原创 【并发编程】实现自己的 executor

java Executor 接口

2022-09-10 16:51:38 162

原创 【并发编程】ReentrantReadWriteLock

ReentrantReadWriteLock

2022-09-10 16:43:52 162

原创 【并发编程】ReadWriteLock 接口

读写锁 ReadWriteLock 接口

2022-09-10 16:39:13 85

原创 【并发编程】CyclicBarrier

CyclicBarrier

2022-09-10 16:23:32 158

原创 【并发编程】Semaphore

Semaphore

2022-09-10 16:20:32 182

原创 【并发编程】CountDownLatch

CountDownLatch

2022-09-10 16:16:00 91

原创 【并发编程】Condition 接口

Condition 接口

2022-09-09 17:02:03 68

原创 【并发编程】Lock 接口

Lock 接口

2022-09-09 16:57:23 210

原创 【并发编程】基本线程阻塞原语 LockSupport

LockSupport

2022-09-09 16:47:51 176

原创 【并发编程】AQS - AbstractQueuedSynchronizer

AbstractQueuedSynchronizer

2022-09-09 16:43:00 337

原创 【并发编程】synchronized 和 Lock 的区别

synchronized 和 Lock 的区别

2022-09-09 16:38:23 199

原创 【并发编程】乐观锁和悲观锁

乐观锁和悲观锁,乐观锁ABA问题的解决

2022-09-09 16:22:45 155

原创 【并发编程】synchronized 底层原理 3

锁释放的时机

2022-09-09 16:17:56 121

原创 【并发编程】synchronized 底层原理 2

synchronized 的 4 种状态

2022-09-09 16:12:19 55

原创 【并发编程】synchronized 底层原理 1

synchronized 底层原理,如何保证原子性、可见性、有序性

2022-09-09 15:59:02 252 6

原创 【并发编程】synchronized 的 4 种使用方式

synchronized 的用法,类锁和对象锁的概念

2022-09-09 15:33:05 109

原创 【并发编程】线程的状态

线程的状态

2022-09-06 10:52:50 50

原创 【并发编程】线程的优先级

线程的优先级

2022-09-06 10:49:02 540

原创 【并发编程】Thread 类的 join 方法

Thread 类的 join 方法

2022-09-06 10:44:46 252

原创 【并发编程】线程的中断

线程的中断

2022-09-06 10:42:50 704

原创 【并发编程】线程的休眠

线程的休眠

2022-09-06 10:39:42 300

原创 【并发编程】创建线程运行时代码的 3 种方式

创建线程运行时代码的3种方式

2022-09-06 10:36:06 135

原创 【并发编程】java 程序至少启动了几个线程

java 程序中固有的线程有哪些

2022-09-06 10:28:30 153

原创 【并发编程】java 并发基础

帮助理解多线程和多进程,并发和并行

2022-09-06 10:06:35 128

原创 【并发编程】用户空间和内核空间

操作系统用户空间和内核空间的概念,可以帮助大家理解什么是上下文切换

2022-09-06 10:01:39 235

原创 【并发编程】线程间通信的模型

线程之间通信的几种方式

2022-09-06 09:50:48 135 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除