• [置顶]一文调试spring AOP源码

    在processOn上看到了aop的时序图,于是就看了看,整理了并写出此篇在springboot中,开启AOP只需要加入如下注解于是,追踪源码:@Target({ElementType.TYPE})@...

    AQS学习笔记(一)

    AQS属性:用state来表示资源的状态(加锁state+1)独占模式一个线程访问资源共享模式多个线程访问资源提供了FIFO的等待队列,未拿到资源的被分配到队列等待条件变量来实现等待,唤醒机制AQS内...

    tomcat的线程池机制

    剖析tomcat线程池的源码,本文以源码来解析tomcat的线程池使用策略查找来源首先先在tomcat官网找到对应的tomcat线程池配置,具体定位在:Tomcat线程池然后对其配置的默认参数进行解释...

    swagger2踩的坑

    这两天在搭建项目用到了swagger,遇到了不少坑,可以说是完全没必要踩到的坑,却让我浪费了许久时间,确实很难受,记录下来,以此为教训!先说明下:版本号为:springboot2.x、swagger2...

    线程池原理分析

    线程池原理分析先给出结论:1.当所提交的任务大于核心线程并且小于最大线程的时候,多余的任务会加入到队列里,等待核心线程执行完成之后从队列里面拿新的任务执行;2.当所提交的任务小于核心线程时,线程会直接...

    说一说线程局部变量ThreadLocal

    通常情况下,我们创建的变量是可以被任何一个线程访问并修改的。如果想实现每一个线程都有自己的专属本地变量该如何解决呢?JDK中提供的ThreadLocal类正是为了解决这样的问题。ThreadLocal...

    rocketMq源码阅读(一)

    RocketMQ角色注册中心Namesrv,消息存储Broker,生产者Producer,消费者Consumer消息发送流程图高可用策略:当发送方投递消息到brokerA的q1的时候,假设投递失败,则...

    项目中遇到mybatis配置多数据源的坑

    前一阵子在项目中遇到了一个mybatis配置多数据源的坑,调试源码后解决该问题,总的来说,还是对mybatis的熟悉度不够,故踩了这个坑。场景:项目中需要多数据源进行读库因公司项目不便演示,现用本人的...

    SpringBoot引入Bean组件的几种方式

    众所周知,在spring内部,所有的bean都是交由spring来统一管理的,有些bean可能是直接通过BeanDefinitionRegistry定义的,有些是通过FactoryBean注册的(一般...

    SpringMvc源码之返回值拦截HandlerMethodReturnValueHandler

    与上篇类似,HandlerMethodReturnValueHandler是对返回值的解析,相关的注解有@ResponseBody。。。用法也基本一样先看看源码,打开类RequestResponseB...