2020年10月19日

ConcurrentHashMap红黑数的读写逻辑

摘要: 本文就ConcurrentHashMap红黑树的读写逻辑,尤其是jdk怎么控制读写同步的逻辑梳理下 本文要讨论的问题主要分两种 1 有线程在读,写进程怎么办? 2 有线程在写,读进程怎么办? TreeBin的hash值 -2哦 static final int TREEBIN = -2; // ha 阅读全文

posted @ 2020-10-19 16:03 MaXianZhe 阅读(219) 评论(0) 推荐(0) 编辑

ConcurrentHashMap中sizeCtl的说明

摘要: ConcurrentHashMap设计很强,其中sizeCtl设计十分巧妙。但是在网上查资料真的是以讹传讹啊。所以,我来写一下sizeCtl的说明。 sizeCtl有多重含义,其中除了扩容的时候难理解外,其他的比较好理解 · 1 如果一个ConcurrentHashMap正在初始化,值为-1 2 C 阅读全文

posted @ 2020-10-19 10:44 MaXianZhe 阅读(1352) 评论(0) 推荐(1) 编辑

2020年10月15日

Spring源码解析(七) -- Spring事务-初始化篇

摘要: spring中事务也是很重要的知识点,有了之前的aop的知识,分析事务源码会更容易懂。 1 事务入口 要想使用事务,就需要在配置文件里加tx命名空间。同时配置文件里要这么配 <tx:annotation-driven transaction-manager="transactionManager" 阅读全文

posted @ 2020-10-15 20:09 MaXianZhe 阅读(274) 评论(0) 推荐(0) 编辑

2020年10月13日

Spring源码解析(六) -- AOP

摘要: 最近项目上上了一个功能用到了aop。事情是这样的,本来是我们自己管理调用原生的kafka接口的。不过由于能力有限,决定把kafka交给公司的专业团队。这就有一个需求,要把kafka相关的调用换成公司团队提供的接口。为了不动之前的代码,我采用了aop的方式。对于aop原理还是懂一点点的,源码之前也看过 阅读全文

posted @ 2020-10-13 15:19 MaXianZhe 阅读(204) 评论(0) 推荐(0) 编辑

2020年10月9日

Spring源码解析(五) -- 解决循环依赖

摘要: 在上一节Spring源码解析(四)中,有一些代码并没有仔细分析。而这些代码都和spring解决循环依赖相关的。比较重要的有两处 第一处在 AbstractAutowireCapableBeanFactory的 doCreateBean方法 if (instanceWrapper == null) { 阅读全文

posted @ 2020-10-09 14:17 MaXianZhe 阅读(311) 评论(0) 推荐(0) 编辑

2020年10月7日

Spring源码解析(四) -- getBean(String name, Class<T> requiredType)

摘要: 前言 早在分析beanFactoryPostProcessor的时候,就出现了BeanFactory.getBean方法,因为每一个beanFactoryPostProcessor也是spring管理的bean,也是要经过spring实例化和初始化才能够使用的,只是当时该方法还不是要分析的重点。 这 阅读全文

posted @ 2020-10-07 18:02 MaXianZhe 阅读(836) 评论(0) 推荐(0) 编辑

2020年9月21日

Spring源码解析(三) -- registerBeanPostProcessors(beanFactory)

摘要: 本节分析下 refresh()中的 registerBeanPostProcessors(beanFactory);方法 public interface BeanPostProcessor { /** * Apply this BeanPostProcessor to the given new 阅读全文

posted @ 2020-09-21 17:52 MaXianZhe 阅读(329) 评论(0) 推荐(0) 编辑

2020年9月18日

Spring源码解析(二) -- invokeBeanFactoryPostProcessors

摘要: 上一篇分析了Spring容器启动时,beanfactory的初始化,此时在beanfactory中存在了全部的BeanDefinition,注意此时还没有任何一个bean,有的只是BeanDefinition。 本篇我们分析Spring启动时实例化BeanFactoryPostProcessor并启 阅读全文

posted @ 2020-09-18 15:36 MaXianZhe 阅读(244) 评论(0) 推荐(0) 编辑

2020年9月17日

Spring源码解析(一) -- beanfactory

摘要: Spring源码解析(一) -- beanfactory spring的源码其实来来回回看过不下5次,但是之前没有总结的习惯,总是看了又忘。今天开始计划重新看一遍spring,并做记录和总结。 进入主题,我们来分析一下beanfactory的创建。 1 beanfactory的创建 Abstract 阅读全文

posted @ 2020-09-17 21:02 MaXianZhe 阅读(210) 评论(0) 推荐(0) 编辑

2020年8月31日

InnoDb页结构

摘要: 本文参考自 https://blog.csdn.net/bohu83/article/details/81122829 感谢作者的创作 先看一张图,这张图是一张简图: 再看一张详细的图: 接下来我们解释下具体的结构: 1 File Header 主要是记录该页在整个数据空间的页号,以及页和页之前的指 阅读全文

posted @ 2020-08-31 14:47 MaXianZhe 阅读(255) 评论(0) 推荐(0) 编辑

导航