源码
文章平均质量分 93
不同功能模块源代码学习笔记.
天然玩家
请大家不要再订阅了!!!如遇到专栏里可以解决您问题的文章,您可以私信我。为了保护之前订阅用户的权益,专栏内容依旧保留,但是不会再更新内容了。
展开
-
Linux多路复用之select方案
何为多路复用?多路复用是一种IO调用解决方案,有三种方式:select、poll和epoll。用于解决进程或线程阻塞IO系统调用问题。多路复用以文件描述符为载体,通过监控多个描述符,当描述符就绪时(可读、可写),通知程序进行读写操作。即使单线程,亦可以处理多个IO任务,只是依据就绪状态进行处理,而不会直接阻塞当前线程所有任务执行(IO),保证每个时刻都有读或者写操作(使用内核内存处理,处理速度优势)。但,实质上,每个核在每个时刻,依旧是只能执行一次计算。内核的直接内存处理速度,比间接内存处理速度原创 2022-04-18 10:50:47 · 1435 阅读 · 0 评论 -
springboot结合rabbitmq如何监听和处理消息
(1)RabbitMQ模块核心:消息处理和监听;(2)消息处理:通过@RabbitListener标注方法,构建消费者,在SpringBoot启动时,构建Rabbit底层容器,创建对应的Bean,为后续监听到消息并处理做准备;(3)消息监听:完整的消息监听链路如下图所示;(4)消息监听和处理中用到的核心:JDK动态代理和反射(Invoke),调用@RabbitListener标注的方法;(5)@RabbitListener标注的方法即RabbitMQ开放给开发者的接口,自定义业务逻辑,监听到消息后完原创 2022-04-12 12:25:11 · 4481 阅读 · 0 评论 -
SpringBoot如何结合Druid读取数据库配置
Spring读取数据源配置核心步骤:(1)进入自动装配:org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration(2)注册BeanDefinition:org.springframework.boot.autoconfigure.jdbc.DataSourceInitializationConfiguration.Registrar#registerBeanDefinitions(3)进入Druid自动装配:com.原创 2022-04-07 09:52:49 · 2434 阅读 · 0 评论 -
MyBatis是如何自动装配的
MyBatis自动装配的核心4步:(1)注册BeanDefinition:org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration.AutoConfiguredMapperScannerRegistrar(2)读取MyBatis配置:通过org.mybatis.spring.boot.autoconfigure.MybatisProperties映射yml配置;(3)配置Bean sqlSessionFactory:org.mybat原创 2022-04-03 17:10:36 · 3698 阅读 · 2 评论 -
Sleuth如何生成traceId
- SpringBoot启动时在zipkin的包中配置MDCScopeDecorator属性,添加traceId和spanId;- Sleuth版本:3.1.0:生成traceId和spanId直接使用traceId和spanId获取,日志格式为:[traceId=%X{traceId:-}, spanId=%X{spanId:-}]- Logback天然配置MDC,通过LogbackMDCAdapter最终填充traceId和spanId值。原创 2022-03-30 16:42:26 · 4579 阅读 · 0 评论