摘要: 基于Redisson的分布式锁。 从多个节点获取锁,当一半以上的节点成功获取锁,才算成功获取锁。 redisson不会产生死锁问题,原因: redisson 有个开门狗机制,每隔10s会设置锁的有效期为30s 使用apollo的addChangeListener方法监听配置。 Redis Pttl 阅读全文
posted @ 2021-05-27 11:26 龙之谷2019 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 1、CAS 多个线程同CAS更新同一个变量,只有一个线程能成功,其他的都失败,但不会挂起,只是通知其他线程再次尝试。 包含三个值:内存值V,进行比较的预期原值A、准备写入的新值B。如果V和A相等,则将V更新为B。 2、AQS(AbstractQueuedSynchronizer) 内部通过Node构 阅读全文
posted @ 2021-05-27 11:25 龙之谷2019 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 使用场景: 1、异步处理,比如订单完成后想异步发送消息 2、事件告知,比如想知道spring容器是否启动完成,那么就可以监听spring启动完成后的事件 3、扩展处理,比如监听 跑完步 这个事件,接着会喝水。考虑到后面可能跑完步还要去吃饭,那么可以通过监听同一个事件来完成。 省的还需要改原来的代码。 阅读全文
posted @ 2021-05-27 11:24 龙之谷2019 阅读(689) 评论(0) 推荐(0) 编辑
摘要: 1 finishBeanFactoryInitialization->preInstantiateSingletons 2 3 在preInstantiateSingletons的getBean()的方法中会实例化带有@RequestMapping、@Controller、@RestControll 阅读全文
posted @ 2021-05-27 11:22 龙之谷2019 阅读(155) 评论(0) 推荐(0) 编辑