- 博客(12)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 java之可重入锁和递归锁理论知识
大厂面试题:公平锁/非公平锁/重入锁/递归锁/自旋锁谈谈你的理解?请手写一个自旋锁。大厂面试题:公平锁/非公平锁/重入锁/递归锁/自旋锁谈谈你的理解?请手写一个自旋锁。1、什么是可重入锁(递归锁) 可重入锁(也叫递归锁):指的是同一线程外层函数获得锁之后,内层递归函数仍然可以获取该锁的代码,在同一线程在外层方法获取锁的时候+,在进入内层方法会自动获取锁。也就是说,线程可以...
2019-05-26 22:13:27 767
原创 java之公平锁与非公平锁
大厂面试题:公平锁/非公平锁/重入锁/递归锁/自旋锁谈谈你的理解?请手写一个自旋锁。1、什么是公平锁和非公平锁公平锁:是指多个线程按照申请锁的顺序来获取锁,类似与排队打饭,先来后到。非公平锁:是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取锁,在高并发的情况下,有可能造成优先级反转或者饥饿现象。2、公平锁和非公平锁举例Reentra...
2019-05-26 21:47:20 776
原创 Java自旋锁
1、Java自旋锁理论自旋锁(spinlock):是指尝试去获取锁的线程不会立即阻塞,而是采用循环的方式去获取锁,这样的好处是减少线程上下文切换消耗,缺点是循环会消耗CPU。 public final int getAndAddInt(Object var1, long var2, int var4) { int var5; do {...
2019-05-04 23:04:41 188
原创 集合类不安全之HashMap
大厂面试题:我们知道HashMap是线程不安全的,请编码写一个不安全的案例并给出解决方案?1、HashMap线程不安全问题产生import java.util.*;public class ContainerNotSafeHashMapDemoThree { public static void main(String[] args) { Map<...
2019-05-04 23:00:56 605
原创 集合类不安全之Set
大厂面试题:我们知道Set是线程不安全的,请编码写一个不安全的案例并给出解决方案?1、Set线程不安全问题产生import java.util.HashSet;import java.util.Set;import java.util.UUID;public class ContainerNotSafeDemoTwo { public static void m...
2019-05-04 22:57:42 301
原创 集合类不安全之并发修改异常-ArrayList
大厂面试题:我们知道ArrayList是线程不安全的,请编码写一个不安全的案例并给出解决方案?1、ArrayList线程不安全问题产生import java.util.ArrayList;import java.util.List;import java.util.UUID;public class ContainerNotSafeDemoOne {public st...
2019-05-04 22:55:24 965
原创 AtomicStampedReference版本号原子引用
如何解决ABA问题使用AtomicStampedReference版本原子引用类可以解决ABA问题import java.util.concurrent.TimeUnit;import java.util.concurrent.atomic.AtomicReference;import java.util.concurrent.atomic.AtomicStampedRefe...
2019-05-04 22:52:32 603
原创 AtomicReference原子引用
AtomicReference代码演示import java.util.concurrent.atomic.AtomicReference;class User{ private String userName; private int age; public User(String userName, int age) { th...
2019-05-04 22:51:13 175
原创 ABA问题
大厂面试题:原子类AtomicInteger的ABA问题谈谈?原子更新引用知道吗?面试会考察:CAS->Usafe->CAS底层是思想->ABA->原子引用更新->如何规避ABA问题1、什么是ABA问题假设两个线程T1和T2访问同一个变量V,当T1访问变量V时,读取到V的值为A;此时线程T1被抢占了,T2开始执行,T2先将变量V的值从A变成B,然后又将变量...
2019-05-04 22:49:53 1268
原创 CAS底层原理及缺点
CAS底层原理及缺点大厂面试题:1、请你谈谈对volatile的理解?2、CAS你知道吗?3、原子类AtomicInteger的ABA问题谈谈?原子更新引用知道吗?4、我们都知道ArrayList是线程不安全的,请编码写一个不安全的案例并给出解决方案?5、公平锁/非公平锁/可重入锁/递归锁/自旋锁谈谈你的理解?请手写一个自旋锁。6、CountDownLatch、Cycl...
2019-05-04 22:46:41 5618
原创 CAS是什么?
CAS是什么?大厂面试题:1、请你谈谈对volatile的理解?2、CAS你知道吗?3、原子类AtomicInteger的ABA问题谈谈?原子更新引用知道吗?4、我们都知道ArrayList是线程不安全的,请编码写一个不安全的案例并给出解决方案?5、公平锁/非公平锁/可重入锁/递归锁/自旋锁谈谈你的理解?请手写一个自旋锁。6、CountDownLatch、CyclicB...
2019-05-04 22:41:39 848
原创 volatile不保证原子性
volatile不保证原子性大厂面试题:1、请你谈谈对volatile的理解?2、CAS你知道吗?3、原子类AtomicInteger的ABA问题谈谈?原子更新引用知道吗?4、我们都知道ArrayList是线程不安全的,请编码写一个不安全的案例并给出解决方案?5、公平锁/非公平锁/可重入锁/递归锁/自旋锁谈谈你的理解?请手写一个自旋锁。6、CountDownLatch、...
2019-05-04 22:38:08 4947 2
MongoDB如何在Collection集合中指定位置插入一个document
2017-03-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人