摘要: 一级缓存解决的问题是Bean的实例化。 二级缓存解决的问题是Bean的依赖注入(初始化)。 三级缓存解决的问题是Bean Aop代理生成。 为什么需要三级缓存: 三级缓存的value类型是ObjectFactory,是一个函数式接口,存在的意义是保证在整个容器的运行过程中同名的bean对象只能有一个 阅读全文
posted @ 2025-07-11 14:34 Charlie-Pang 阅读(6) 评论(0) 推荐(0)
摘要: B站锁的讲解 乐观锁 认为自己在使用数据的时候不会被别的线程来修改数据,不会加锁,只是在更新数据的时候去判断之前有没有被别的线程更新了这个数据。 CAS(Compare-and-Swap)算法, AtomicInteger这类原子类就是CAS 悲观锁 认为自己在使用数据的时候一定有别的线程来修改数据 阅读全文
posted @ 2025-07-11 09:05 Charlie-Pang 阅读(14) 评论(0) 推荐(0)
摘要: ThreadLocal 在下面的案例中,local.get()取到的值是null,因为子线程获取不到主线程的值。用InheritableThreadLocal可以让子线程获取到主线程的值。 public static void main(String[] args) { ThreadLocal<St 阅读全文
posted @ 2025-07-11 08:57 Charlie-Pang 阅读(11) 评论(0) 推荐(0)