- 博客(4)
- 收藏
- 关注
原创 RabbitMQ知识点总结
为什么要使用MQ 解耦、异步、削峰 解耦:传统应用,应用之前互相调用都是通过API调用的,耦合性强,如果有新的应用接入,则会造成多个应用的代码修改;但是中间加上MQ中间件,这种 耦合性就会变得非常低,应用接入退出都会变的异常简单。 异步:传统应用调用多个应用时,需要同步调用,消耗时间为多个调用的总和,加入MQ组件后,只需要把消息发送给MQ后就可以返回,减少应用的等待时间。 此处有一个疑问,解决异步...
2020-04-01 10:26:17
269
原创 Dubbo2.7.5版本源码深度解析——SPI机制
先写个简单SPI例子: @SPI public interface Color { void getColor(); } public class Red implements Color { @Override public void getColor() { System.out.println("Hello. I am red!"); } }...
2020-03-25 22:09:38
280
原创 SpringBoot自动装配最核心源码解析
SpringBoot为什么这么火 SpringBoot越来越火,目前已经渐渐成功Java开发者的必备框架。它为什么会这么火,这完全是因为它的设计理念:约定优于配置。 何为约定优于配置?约定优于配置就是所有的配置项都有一份约定的默认配置项,对于此类配置中的任何一个配置项,在开发者不手动配置该项时,系统都会优先使用该默认配置,而当开发者手动进行配置时,又会加以覆盖,以开发者的配置为准。这个特性...
2020-03-15 22:20:44
191
原创 JAVA线程池源码详解
线程池存在的意义 线程是CPU的稀缺资源,而JAVA的创建与销毁都会导致操作系统的状态切换,这个过程会极大的消耗CPU资源,如果无限制的创建线程,还会降低系统的稳定性。为了避免过多的消耗资源,就需要设法重用线程,于是线程池的概念应运而生。 线程池:一种线程使用模式。线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务。这避免了在处理...
2020-03-07 22:33:55
136
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人