自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

人工智障训练师的博客

源码分析 | 应用分享 | 乐享coding

  • 博客(18)
  • 收藏
  • 关注

翻译 什么是垃圾回收器

目录1. 什么是垃圾回收器?2. 手动内存管理2.1 智能指针3. 自动内存管理3.1 引用计数4. 标记和扫描1. 什么是垃圾回收器?关于垃圾回收器第一印象正如它的名字所暗示的——寻扎垃圾并且丢弃它们。但实际上它并不是这样的。垃圾回收器追踪所有正在使用的对象,并将其余的对象标记为垃圾。考虑到这一点,我们开始深入探究被称为“垃圾回收”的内存自动回收机制在Java虚拟...

2019-10-08 17:34:30 437

原创 SQL执行顺序

SELECT * FROM user LEFT JOIN order ON user.id = order.uid WHERE order.price > 1000 GROUP BY user.name HAVING count(1) > 5 ORDER BY user.name LIMIT 0,10;执行顺序:1. FROM : 如果FROM 后面是1张表,那么直接...

2019-05-05 14:57:32 257

原创 【一】java设计模式之---单例模式的四种写法

前几种你也许见过,但是最后一种你搜完百度前20页也不一定有。^.^目录1. 懒汉式2. 饿汉式3. 静态内部类(痴汉式)5. 枚举5.1 枚举单例饿汉式5.2 枚举单例懒汉式1. 懒汉式public class SingletonHodey{ private volatile static SingletonHodey instance = new ...

2019-04-03 23:00:04 280

原创 【三】MyBatis-Spring最全源码详解之SQL执行流程

前面两篇系列文章已经详细介绍了Mapper接口的扫描过程和对应bean的创建过程。本文重点介绍mybatis执行SQL的过程。DaoService的selectByName方法,拿到的personMapper对象已经是上文介绍的那个superMapperProxy对象。执行personMapper.selectByName(personName)方法,其实就是执行的superMapperPro...

2019-03-16 17:06:57 916 4

原创 【二】MyBatis-Spring最全源码详解之Mapper的自动注入

目录1.MapperFactoryBean的实例化1.1 Springboot自动配置与@Bean方法的扫描1.2 sqlSessionFactorybean与SqlSessionTemplate的创建2. Mapper的依赖注入2.1 从MapperFactoryBean中获取对象2.2 postProcessObjectFromFactoryBean3. 总结...

2019-03-14 21:58:55 7939

原创 【一】MyBatis-Spring最全源码详解之@MapperScan到底在弄啥

目录1. invokeBeanFactoryPostProcessors2. MapperScannerRegistrar#registerBeanDefinitions3. ClassPathMapperScanner#processBeanDefinitions4. 附录:项目文档在Springboot项目中使用MyBatis往往会使用@MapperScan("packag...

2019-03-13 21:23:53 3457 2

原创 【二】Spring AOP 最全源码详解之创建代理对象

目录1. 判断是否需要被代理2. 创建代理类createProxy3. 附录:本工程项目文件前在《【九】Spring IoC 最全源码详解之initializeBean》中提到过创建Spring AOP代理对象的留下就在执行bean后置处理器的postProcessAfterInitialization方法中。更具体一点是执行AnnotationAwareAspectJAutoPr...

2019-03-09 15:34:58 958 4

原创 【一】Spring AOP 最全源码详解之AOP元数据解析

目录1.findCandidateAdvisors2.buildAspectJAdvisors2.1. 创建一个MetadataAwareAspectInstanceFactory对象2.2. getAdvisors(factory)2.3getAdvice3. 附录:本工程项目文件bean创建过程中,在createBean步骤的resolveBeforeIns...

2019-03-08 14:48:09 1563

原创 【九】Spring IoC 最全源码详解之initializeBean

如果bean的依赖注入完成比作进化出猴子,那么最后的bean初始化过程就是给猴子穿上了衣服,变成了人。目录1.实现Aware接口对bean的设置2.依次回调bean后置处理器的postProcessBeforeInitialization方法2.1ApplicationContextAwareProcessor2.2ImportAwareBeanPostProces...

2019-03-06 21:59:24 2060

原创 【八】Spring IoC 最全源码详解之bean的循环依赖

先有鸡还是先有蛋,这是一个问题。目录1. 什么是循环依赖2. Spring针对循环依赖的解决方案2.1 亚当的登场2.2 夏娃的诞生2.3 寻找亚当2.4 完成亚当的创建3. 附录:本项目工程文件1. 什么是循环依赖你中有我,我中有你,就是循环依赖。举个例子,本文使用的项目中“yadang”与“xiawa”这两个bean就是循环依赖的(参考附录)。Cla...

2019-03-01 19:51:54 655 3

原创 【七】Spring IoC 最全源码详解之bean的依赖注入

上篇文章,我在开头将bean实例化过程比喻成寒武纪生命大爆发。如果你同意这个看法的话,那本文解析的bean的依赖注入就是生命的形式生物从两栖进化到爬行,从爬行进化到哺乳,从哺乳进化到类人猿,从低等进化到高等的过程。本文撰写累计时常10小时,建议阅读时间5小时。去趟卫生间,等你回来我们就开始吧。目录1. applyMergedBeanDefinitionPostProcessors...

2019-02-27 19:25:24 1662 2

原创 【六】Spring IoC 最全源码详解之bean实例化过程

如果将Spring初始化过程中创建bean之前的准备工作比喻成生命从无到有,从单细胞生命变为多细胞生命,从海洋蔓延到陆地,从……的话,那么本章即将介绍的bean实例化过程就是寒武纪生命大爆发!目录1.getBean2.createBean3.createBeanInstance3.1 寻找构造函数进行实例化3.1.1 利用默认构造函数实例化3.1.2 利用带参构造函...

2019-02-23 22:01:15 2203 2

原创 【五】Spring IoC 最全源码详解之registerBeanPostProcessors

目录1. BeanPostProcessor是什么2. 流程详解3.BeanPostProcessor的作用本节将继续按照refresh()方法中的执行顺序,分析BeanPostProcessor的注册过程。1. BeanPostProcessor是什么public interface BeanPostProcessor { default Object postPro...

2019-02-21 12:44:40 1018

原创 【四】Spring IoC 最全源码详解之 invokeBeanFactoryPostProcessors与ConfigurationClassPostProcessor扫包

地球形成                   距今46亿年地球冷却形成地壳    距今39亿年~25亿年生命出现            距今35亿年前细菌的出现          距今30亿年前光合作用            距今20亿年前多细胞生物          距今16亿年前生命登上陆地        距今5亿年前鱼类出现            距今5亿年前植物出现   ...

2019-02-17 18:23:38 1007 1

原创 【三】Spring IoC 最全源码详解之 prepareBeanFactory

工欲善其事,必先利其器。                                      —— 《论语·卫灵公》    本文将开始介绍refresh()方法。public AnnotationConfigApplicationContext(Class<?>... annotatedClasses) { this(); register(...

2019-02-14 23:37:48 907 2

原创 【二】Spring IoC 最全源码详解之 register

如果我有8小时的时间砍一棵树,我就会花费6小时磨利自己的斧子。”                                                                                                                 ——亚伯拉罕·林肯 public AnnotationConfigApplicationCo...

2019-02-11 23:55:35 982

原创 【一】Spring IoC 最全源码详解之 Spring容器创建流程

《圣经》旧约.创世纪:起初,神创造天地。地是空虚混沌,渊面黑暗; 神的灵运行在水面上。神说:“要有光。”就有了光。 神看光是好的,就把光暗分开了。 神称光为昼,称暗为夜。有晚上,有早晨,这是头一日。                                                                                                  ...

2019-01-31 23:55:59 1233 1

原创 关于Spring自动装配几个你所不知道的事

 目录1. 自动装配类型2、@ Autowired 与 @Resource2.1 @Autowired2.2 @Resource3. 单例与原型的混合装配1. 自动装配类型Spring官网对于自动装配的类型说明如下:no 无自动装配(默认)。在大规模项目中Spring不建议修改该默认值。因为这种方式明确了各个bean之间的协同关系,能让层次更加清晰。也...

2019-01-22 23:12:22 763 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除