懒加载@Lazy
摘要:默认情况下,Spring在程序启动时创建所有通过注解声明或者xml注解的单例bean,这样做好处是在启动时即可以检测所有可能的错误,而不是在运行的时候。但是有些情况我们需要的时候创建一个bean,而不是在程序启动的时候,此时需要用到@Lazy来进行懒加载。 懒加载主要针对单例bean,仅当第一次使用
阅读全文
posted @
2023-04-13 09:47
colorfulworld
阅读(97)
推荐(0) 编辑
自定义SpringBoot Starter
摘要:1. Starter加载原理 Springboot通过SpringBootApplication注解启动项目,springboot启动的时候,会将项目中所有声明为bean对象的实例加载到IOC容器。除此之外也会将starter里的bean信息加载到ioc容器,从而做到0配置,开箱即用。 1.1加载s
阅读全文
posted @
2023-04-11 15:15
colorfulworld
阅读(76)
推荐(0) 编辑
死锁
摘要:1. 死锁概念 也就是两个线程在各自拥有锁的情况下,又去尝试获取对方的锁,从而造成的一直阻塞的情况。 如下,如果此时有一个线程A,按照先锁a再获得锁b的的顺序获得锁,而在此同时又有另外一个线程B,按照先锁b再锁a的顺序获得锁 2. 如何查看是否死锁 死锁代码 public class TestLoc
阅读全文
posted @
2023-04-11 11:35
colorfulworld
阅读(22)
推荐(0) 编辑
Future vs FutureTask vs ComplatableFuture
摘要:1. Future 异步计算结果,提供了一些方法来检验任务是否完成,get()都是阻塞的。 1.1 Future接口方法: // 取消任务 boolean cancel(boolean mayInterruptIfRunning); // 判断任务是否已取消 boolean isCancelled(
阅读全文
posted @
2023-04-05 21:16
colorfulworld
阅读(22)
推荐(0) 编辑
SpringWebFlux~webclient响应式HttpClient
摘要:1. webClient Spring WebFlux包括WebClient对Http请求的响应式,非阻塞。 WebClient实例创建方式: 1.1 通过静态工厂方法创建响应式WebClient实例 WebClient.create() WebClient.create(String baseUr
阅读全文
posted @
2023-04-04 16:00
colorfulworld
阅读(783)
推荐(0) 编辑
Mongo主从同步原理
摘要:1. Mongo主从同步原理 Mongo主从同步原理是基于复制集(replicate set).复制集是一组mongodb实例,其中一个实例为主节点,其他实例为从节点。主节点负责所有数据写操作,并将写操作的结果复制到从节点。从节点只能读取数据,不能写入数据 在mongo中,主节点和从节点之间的数据同
阅读全文
posted @
2023-04-04 08:43
colorfulworld
阅读(301)
推荐(0) 编辑