04 2023 档案
懒加载@Lazy
摘要:默认情况下,Spring在程序启动时创建所有通过注解声明或者xml注解的单例bean,这样做好处是在启动时即可以检测所有可能的错误,而不是在运行的时候。但是有些情况我们需要的时候创建一个bean,而不是在程序启动的时候,此时需要用到@Lazy来进行懒加载。 懒加载主要针对单例bean,仅当第一次使用 阅读全文
posted @ 2023-04-13 09:47 colorfulworld 阅读(108) 评论(0) 推荐(0)
自定义SpringBoot Starter
摘要:Spring boot starter主要作用是简化依赖管理、自动配置,让开发者能够快速启动和运行特定功能应用程序。 Springboot主要功能: 依赖管理和功能模块化:将一组相关依赖打包在一起,按需方便引用,保证程序轻量级 自动配置:根据spring.factory中配置,自动配置spring应 阅读全文
posted @ 2023-04-11 15:16 colorfulworld 阅读(119) 评论(0) 推荐(0)
死锁
摘要:1. 死锁概念 也就是两个线程在各自拥有锁的情况下,又去尝试获取对方的锁,从而造成的一直阻塞的情况。 如下,如果此时有一个线程A,按照先锁a再获得锁b的的顺序获得锁,而在此同时又有另外一个线程B,按照先锁b再锁a的顺序获得锁 死锁触发条件: 互斥:互斥是指同一个段代码只能被一个线程访问,如上例,锁a 阅读全文
posted @ 2023-04-11 11:35 colorfulworld 阅读(62) 评论(0) 推荐(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 阅读(58) 评论(0) 推荐(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 阅读(1130) 评论(0) 推荐(0)
Mongo主从同步原理
摘要:1. Mongo主从同步原理 Mongo主从同步原理是基于复制集(replicate set).复制集是一组mongodb实例,其中一个实例为主节点,其他实例为从节点。主节点负责所有数据写操作,并将写操作的结果复制到从节点。从节点只能读取数据,不能写入数据 在mongo中,主节点和从节点之间的数据同 阅读全文
posted @ 2023-04-04 08:43 colorfulworld 阅读(342) 评论(0) 推荐(0)