- 博客(6)
- 收藏
- 关注
原创 ThreadLocal原理
当我们向线程中取出value值时,实际上就是从当前线程的ThreadLocalMap中取值,而每个线程都会持有一个ThreadLocalMap(ThreadLocalMap的key为ThreaLocal做hash之后的值,value为需要存入线程中的变量),所以每个线程对ThreadLocalMap的操作是互相不影响的。该代码中主要的逻辑为将的this.initialValue()中的值设置到当前线程中的Map中,也就是threadLocals中,并且返回value。
2023-02-10 18:18:02
136
原创 synchronized原理
对于加锁的每一个对象,JVM底层会生成一个监视器(monitor)1.加锁:如果monitor的进入数为0,则当前线程持有对象的monitor锁,并且进入数设置为1,该线程就算monitor的持有者2.可重入:如果当前线程持有monitor,只是重新进入,则monitor的进入数加13.阻塞线程:如果其他线程持有了monitor,则访问monitor的线程进入阻塞状态,知道monitor的进入数为0,则重新该竞争尝试获取monitor
2023-02-10 16:44:31
144
原创 Spring面试题:Spring事务失效判定准则
@Transactional注解的方法被调用时,只需要判断一个方法是不是直接被代理对象调用的,如果不是,则会失效。
2022-10-01 22:07:39
472
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人