240 发简信
IP属地:广东
  • Spring源码启动过程以及拓展点

    容器启动过程 第一步先调用this();构造方法,这时父类构造器会初始化容器的 beanFactory 属性,属性为DefaultListableBeanFactory,带有...

  • 120
    Dubbo启动源码解析二

    一、ServiceBean继承结构图ServiceBean 从结构图中,我们看到,ServiceBean实现了ServiceConfig,等配置类; 二、export方法 上...

  • 120
    Dubbo启动源码解析一

    一、启动入口 这次讲 dubbo-spring-boot-starter 启动方式,所以入口就是Spring的SPI机制;首先在META-INF/spring.factori...

  • Dubbo SPI机制

    一、前言 学习dubbo源码时,Dubbo的SPI机制必须先了解,不然阅读Dubbo源码会非常困难 二、使用 1.首先看基础使用方式 配置文件放在META-INF\dubbo...

  • RedisTokenStore 源码解析 以及内存泄漏问题

    前言 前端时间,正好在做公司权限相关的架构问题,然后选择了Spring OAuth2来作为公司权限框架,先记录下目前遇到原生问题吧,后续有时间再来整理这个框架的整体脉络; R...

  • 20211101 前言

    前段时间公司赶项目,再加上完成了自己的人生大事,所以正好找到借口,断了好久的学习与复习;心里还是有些惭愧的。从今天开始,还是尽量保持自己学习的习惯,且不要敷衍,认真对待;最后...

  • 120
    RabbitMQ消息类型

    一、RabbitMq名词 1.queue队列 最最最核心的队列,用于存储消息 2.exchange 交换机,用来接收消息,发送到队列 3.routing key 路由,生产者...

  • 120
    zookeeper选举原理

    一、选举流程 通过看了源码,了解到,zookeeper为了提升并发性能,使用了多级队列架构,提高了服务的并发;大概原理如下图: 二、处理选票核心逻辑 选票核心参数:id:推荐...

  • 120
    zookeeper分布式锁原理

    在讲分布式锁之前,我们先看看zookeeper的基础特性,zookeeper主要是一个文件系统数据结构,节点可以分为以下几类 一、节点类型 1.PERSISTENT-持久化目...

  • Redis缓存问题

    一、缓存穿透 当查询时,key是一个不存在的数据,即不会命中缓存层,也不会命中数据库层,如果,同时大量出现不存在的key则会试数据库压力剧增;一般这种场景在业务代码或数据出现...

  • 120
    Redis持久化方式

    一、RDB快照(snapshot) 在默认情况下, Redis 将内存数据库快照保存在名字为 dump.rdb 的二进制文件中。设置规则:在N秒内至少有M个改动,自动保存一次...

  • 120
    Redis数据结构

    一、结构图 二数据结构详解 1.String结构 这种结构是我们最常用的,一个key对应一个value,很多一些对象也可以序列化后存入;使用场景:(1)单值缓存 set、ms...

  • 120
    Spring mvc源码解析

    一、Spring MVC中重要角色 1.DispatcherServlet:前端控制器,接受所有web.xml中配置的请求,处理整个请求流程2.HandlerMapping:...

  • Spring IOC源码解析三:Bean实例化过程源码分析

    一、bean的实例化过程源码分析 上一章节[https://www.jianshu.com/p/97d1c967e4b9]讲了bean定义的加载过程,现在我们来讲一下bean...

  • Spring IOC源码解析二:IOC初始化源码分析

    一、AnnotationConfigApplicationContext构造器分析 上一章节我们讲到,传入配置类的构造函数 接下来所有,我们主要是来看下代码注释;我们先看下t...

  • Spring IOC源码解析一:IOC初始化大致流程以及重要角色

    一、前言 分析Spring源码我们不需要太过于纠结细节,不然,这个源码最起码得分析几个月才能分析完;我们最主要的目的是分析整个容器初始化过程,怎么初始化bean,怎么设置动态...

  • ThreadPoolExecutor源码分析

    记得最开始接触并发编程是,看的第一块的源码就是ThreadPoolExecutor,但是之前没有做任何的笔记,今天再来复习一下 一、线程池主要属性 线程池使用ctl代表线程状...

  • 120
    ArrayBlockingQueue源码分析

    今天看一看BlockingQueue阻塞队列,怎么来实现阻塞的; 一、阻塞队列体系图 二、主要属性 从上面主要属性我们大概可以看出,入队元素是放入数组中的,然后由取元素的指针...