![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
源码分析
Bolon0708
昨日已成过往,明日未来可期。
展开
-
你必须懂也可以懂的@Async原理
目录 1.前言 2.探秘之旅 2.1 实现原理 2.2 线程池使用 2.3 异常处理 2.4 返回值类型 1.前言 想你在看这篇文章之前有过使用@Async注解进行任务异步处理的经历,在项目开发过程中,针对非主流程、非实时、耗时的任务,往往会进行异步处理,这样既不会影响主流程,还会提高主流程的响应时间。 在使用@Async注解进行异步处理的过程中,相信你也踩过不少的坑,比如:任务并没有异步执行,由于共用线程池导致任务之间相互影响、异步任务出现异常不知道如何处理等等。今天我将带着你去了解它的转载 2020-09-08 13:18:11 · 1623 阅读 · 0 评论 -
ConcurrentHashMap源码分析(1.8)
目录 0、说明 1、ConcurrentHashMap跟HashMap,HashTable的对比 2、ConcurrentHashMap原理概览 3、ConcurrentHashMap几个重要概念 4、ConcurrentHashMap几个重要方法 5、ConcurrentHashMap的初始化 6、ConcurrentHashMap的put操作详解 7、ConcurrentHas...转载 2019-08-02 16:09:15 · 301 阅读 · 0 评论 -
69 个经典 Spring 面试题和答案
目录 Spring概述 1. 什么是spring? 2. 使用Spring框架的好处是什么? 3. Spring由哪些模块组成? 4. 核心容器(应用上下文) 模块 5. BeanFactory – BeanFactory 实现举例 6. XMLBeanFactory 7. 解释AOP模块 8. 解释JDBC抽象和DAO模块 9. 解释对象/关系映射集成模块 10. ...转载 2019-06-27 14:29:21 · 429 阅读 · 0 评论 -
【Spring源码】Spring IOC 容器源码分析
目录 引言 BeanFactory 简介 启动过程分析 创建 Bean 容器前的准备工作 创建 Bean 容器,加载并注册 Bean Bean 容器实例化完成后 准备 Bean 容器: prepareBeanFactory 初始化所有的 singleton beans 附录 id 和 name 配置是否允许 Bean 覆盖、是否允许循环依赖 profile 工厂模式生成 ...转载 2019-06-26 09:52:01 · 330 阅读 · 0 评论 -
【Spring源码】Spring AOP 使用介绍,从前世到今生
目录 AOP, AspectJ, Spring AOP AOP 术语解释 Spring AOP Spring 1.2 中的配置 Spring 2.0 @AspectJ 配置 Spring 2.0 schema-based 配置 小结 附录 前面写过 Spring IOC 的源码分析,很多读者希望可以出一个 Spring AOP 的源码分析,不过 Spring AOP 的源码还是比...转载 2019-06-26 09:59:00 · 252 阅读 · 0 评论 -
【Spring源码】Spring AOP 源码解析
目录 前言 本文使用的调试代码 IOC 容器管理 AOP 实例 ProxyFactory 详解 基于注解的 Spring AOP 源码分析 闲聊 InstantiationAwareBeanPostProcessor 小结 之前写过 IOC 的源码分析,那篇文章真的有点长,看完需要点耐心。很多读者希望能写一写 Spring AOP 的源码分析文章,这样读者看完 IOC + AOP ...转载 2019-06-27 09:54:54 · 238 阅读 · 0 评论 -
Mybatis源码分析之SqlSessionFactory(一)
目录 简介 1:properties(相关配置读取) 2:settings 全局性的配置 3:typeAliases 为一些类定义别名 4:environments Mybatis的环境 5:mappers 映射文件或映射类 简介 MyBatis的前身叫iBatis,本是apache的一个开源项目, 2010年这个项目由apache software foundation 迁移...转载 2019-06-26 17:13:31 · 378 阅读 · 0 评论 -
Mybatis源码分析之SqlSession和Excutor(二)
目录 1:openSessionFromDataSource 2:Executor 通过上一篇文章的分析我们,我初步了解了它是如何创建sessionFactory的(地址:Mybatis源码分析之SqlSessionFactory(一)), 今天我们分析下Mybatis如何创建SqlSession( sessionFactory.openSession())和Excutor到底做了什么事情...转载 2019-06-26 17:36:39 · 169 阅读 · 0 评论 -
Mybatis源码分析之Mapper执行SQL过程(三)
目录 1:DefaultSqlSession获取getMapper 2:Configuration获取getMapper 3:MapperRegistry获取getMapper 4:MapperProxyFactory Mybatis源码分析之SqlSessionFactory(一) Mybatis源码分析之SqlSession和Excutor(二) 上两篇已经讲解了SqlSessi...转载 2019-06-26 17:53:18 · 222 阅读 · 0 评论 -
Mybatis源码分析之Cache一级缓存原理(四)
目录 一:什么是一级缓存 二:如何执行缓存 三:一级缓存生命周期 之前的文章我已经基本讲解到了SqlSessionFactory、SqlSession、Excutor以及Mpper执行SQL过程,下面我来了解下myabtis的缓存, 它的缓存分为一级缓存和二级缓存,本文我们主要分析下一级缓存。 先看一个例子,代码还是之前(第一篇)的的demo publicstaticv...转载 2019-06-27 10:11:52 · 191 阅读 · 0 评论 -
Mybatis源码分析之Cache二级缓存原理 (五)
目录 一:Cache类的介绍 二:二级缓存初始化 三:缓存查数据 四:一级和二级缓存的先后顺序 五:使用二级缓存需要注意: 一:Cache类的介绍 讲解缓存之前我们需要先了解一下Cache接口以及实现MyBatis定义了一个org.apache.ibatis.cache.Cache接口作为其Cache提供者的SPI(ServiceProvider Interface) ,所有的M...转载 2019-06-27 10:34:49 · 369 阅读 · 0 评论