阅读前须知: Spring Cloud 构建于 Spring Boot 之上,在 Spring Boot 中有两种上下文,一种是 bootstrap, 另外一种是 appli...
阅读前须知: Spring Cloud 构建于 Spring Boot 之上,在 Spring Boot 中有两种上下文,一种是 bootstrap, 另外一种是 appli...
spring启动时调用所有注入IOC容器的实现了SmartInitializingSingleton接口的afterSingletonsInstantiated方法。调用链路...
ThreadpoolExecutor Executors newFixedThreadPool FixedThreadPool 的核心线程数和最大线程数都是指定值,也就是说当...
CyclicBarrier 的字面意思是可循环使用(Cyclic)的屏障 (Barrier)。它要做的事情是,让一组线程到达一个屏障(也 可以叫同步点)时被阻塞,直到最后一个...
ps:源码雷同CountDownLatch,细节不讲解,请查看上一篇CountDownLatch源码分析。semaphore 也就是我们常说的信号灯,semaphore 可以...
countdownlatch 是一个同步工具类,它允许一个或多个线 程一直等待,直到其他线程的操作执行完毕再执行。从命 名可以解读到 countdown 是倒数的意思,类似于...
读前提示:请保证了解ReentrantLock再进行阅读(https://www.jianshu.com/p/6e68e17a07d2) 案例 await:把当前线程阻塞挂起...
案例 lock加锁 lock() sync有两个实现,ReentrantLock默认构造方法使用的是NonfairSync非公平锁,也可以使用公平锁,使用boolean参数的...
pom依赖 服务端 客户端 服务注册 EurekaClientAutoConfiguration客户端自动装配 EurekaAutoServiceRegistration这个...
pom依赖 案例 服务端代码省略。首先,阅读代码前应有对应的猜想,根据以往经验,我猜,加了@FeignClient的类,应该是生成了一个动态代理,注入到spring容器中,而...
pom依赖 案例 服务方 调用方 源码分析 当注入ribbon依赖的时候,会启动ribbon的自动装配类,RibbonAutoConfiguration 当LoadBalan...
案例 项目启动后,访问/test接口,返回[{"name":"TestClass1"},{"name":"TestClass2"}]。即所有标记@Qualifier的都会注入...
依赖 代码 Endpoint即支持JMX也支持http。WebEndpoint只支持http。@ReadOperation:GET请求@WriteOperation:POST...
用处 可以作为application.properties的提示信息,可以设置其默认值。 位置 resources/META-INF/additional-spring-co...
猜想 按照约定,从某个文件中获取所有的配置文件全路径,通过ImportSelector进行批量注册(ImportSelector没看过的看我上一篇文章)。 案例 单独一个项目...
需要在classpath目录下创建一个 META-INF/services 在该 目录下创建一个扩展点的全路径名.文件中填写这个扩展点的实现 文件编码格式UTF-8 Serv...
demo类 configuration配置类 注意类并没有使用@Configuration注解 ImportSelector批量注册类 自定义注解 启动类 结果
某个类 条件注册类 配置类 启动类 当实现了Condition接口的类返回true时可以正常获取对应类,而返回false时,获取不到
案例 两者作用相同,那么最终都是如何实现。 xml spring.handlers中 AnnotationDrivenBeanDefinitionParser 注意最终将Sc...
示例代码 原理分析 set方法 首先看一下map不为空时,时如何设置key和value的。 set的大体逻辑如下: 根据key的散列哈希计算Entry的数组下标 通过线性探索...