xzzz2020
xzzz2020
全部文章
未归档
操作系统(11)
数据库(12)
深入理解JVM(20)
算法与数据结构(14)
网络原理(11)
面试题总结(36)
归档
标签
去牛客网
登录
/
注册
Xu大大
全部文章
/ 未归档
(共290篇)
【详解】Java高并发原子类型之AtomicBoolean
分析 在高并发条件下,如果都需要对flag进行修改,就会破坏其原子性 观察下面代码 public class AtomicBooleanTest { private static volatile Boolean flag = true; public stati...
2020-08-14
1
638
【详解】Java高并发值AtomicReference
AtomicReference 提供了引用变量的读写原子性操作。 提供了如下的方法: compareAndSet(V expect, V update) getAndSet(V newValue) lazySet(V newValue) set(V newValue) g...
2020-08-14
1
594
【详解】Java并发之AtomicxxxFieldUpdater
引出 由于原子性的类型是后期引出的,但是想让原来已经写好的属性也具有原子性,就可以利用这个类 AtomicXXXFieldUpdater主要包括以下几个:AtomicIntegerFieldUpdater,AtomicLongFieldUpdater,AtomicReferenceFieldUp...
2020-08-14
0
542
比较几种自增操作时间复杂度
比较几种Counter的自增操作时间 编写一个没有做任何处理的自增 static class StupidCounter implements Counter{ private long counter = 0; @Override public void incre...
2020-08-14
0
517
【详解】Java高并发之UnSafe类
目录 简介 获取Unsafe 主要功能 CAS相关 偏移量相关 类加载 普通读写 类加载 内存屏障 线程调度 简介 Unsafe类是在sun.misc包下,不属于Java标准。但是很多Java的基础类库,包括一些被广泛...
2020-08-14
1
536
【详解】JUC之CountDownLatch
目录 一、引入 二、分析 三、使用场景一 四、使用场景二 五、API使用 六、给离散的平行任务增加逻辑层次关系 一、引入 countDownLatch这个类使一个线程等待其他线程各自执行完毕后再执行。 是通过一个计数器来实现的,计数器的初始值是线程的...
2020-08-14
0
488
【详解】JUC之CyclicBarrier
引出 栅栏类似于闭锁,它能阻塞一组线程直到某个事件的发生。栅栏与闭锁的关键区别在于,所有的线程必须同时到达栅栏位置,才能继续执行。闭锁用于等待事件,而栅栏用于等待其他线程。 CyclicBarrier可以使一定数量的线程反复地在栅栏位置处汇集。当线程到达栅栏位置时将调用await方法,这个方法将...
2020-08-14
0
507
【详解】JUC之Exchanger
简介 用于两个工作线程之间交换数据的封装工具类 简单说就是一个线程在完成一定的事务后想与另一个线程交换数据,则第一个先拿出数据的线程会一直等待第二个线程,直到第二个线程拿着数据到来时才能彼此交换对应数据 Exchanger<V> 泛型类型,其中 V 表示可交换的数据类型...
2020-08-14
0
485
【详解】JUC之Semaphore
简介 Semaphore是一种在多线程环境下使用的设施,该设施负责协调各个线程,以保证它们能够正确、合理的使用公共资源的设施,也是操作系统中用于控制进程同步互斥的量。 Semaphore是一种计数信号量,用于管理一组资源,内部是基于AQS的共享模式。它相当于给线程规定一个量从而控制允许活动的线程...
2020-08-14
0
478
【详解】JUC之ReentrantLock
目录 简介 公平锁和非公平锁 ReentrantLock 构造方法 获得锁 释放锁 锁的调试 【重点】Lock和synchronized的区别 简介 当多个线程需要访问某个公共资源的时候,我们知道需要通过加锁来保证资源的访问不会出问...
2020-08-14
1
474
首页
上一页
11
12
13
14
15
16
17
18
19
20
下一页
末页