![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试笔记
文章平均质量分 54
张小乱
这个作者很懒,什么都没留下…
展开
-
java 锁
1 公平锁与非公平锁公平锁:是指多个线程按照申请锁的顺序来获取锁,类似排队打饭,先来后到非公平锁:是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取锁,在高并发的情况下,有可能造成优先级反转或饥饿现象/** * Creates an instance of {@code ReentrantLock}. * This is equivalent to using {@code ReentrantLock(false)}.原创 2022-03-04 11:00:19 · 166 阅读 · 0 评论 -
HashSet线程不安全
public class NoSafeHashSet { public static void main(String[] args) { Set<Object> set = new HashSet<>(); for (int i = 0; i < 30; i++) { new Thread(() -> { set.add(UUID.randomUUID().toStrin.原创 2022-03-03 15:27:07 · 413 阅读 · 0 评论 -
ArrayList线程不安全
ArrayList在多线程下会报j ava.util.ConcurrentModificationException(并发修改异常)public class NoSafeArrayList { public static void main(String[] args) { List<String> list = new ArrayList<>(); // CopyOnWriteArrayList<>();原创 2022-03-03 14:53:39 · 4528 阅读 · 0 评论 -
CAS 学习笔记
1 CAS 是什么(CompareAndSet) 比较并交换public class CASDemo { public static void main(String[] args) { AtomicInteger atomicInteger = new AtomicInteger(10); // 线程在往主物理内存中写值的时候,会拿线程工作空间的值去比较,如果工作空间的值与主物理内存的值相同,那么会将值覆盖到主物理内存 Sy...原创 2022-03-01 11:13:12 · 437 阅读 · 0 评论