源码分析
Bolon0708
昨日已成过往,明日未来可期。
展开
-
你必须懂也可以懂的@Async原理
目录1.前言2.探秘之旅2.1 实现原理2.2 线程池使用2.3 异常处理2.4 返回值类型1.前言想你在看这篇文章之前有过使用@Async注解进行任务异步处理的经历,在项目开发过程中,针对非主流程、非实时、耗时的任务,往往会进行异步处理,这样既不会影响主流程,还会提高主流程的响应时间。在使用@Async注解进行异步处理的过程中,相信你也踩过不少的坑,比如:任务并没有异步执行,由于共用线程池导致任务之间相互影响、异步任务出现异常不知道如何处理等等。今天我将带着你去了解它的转载 2020-09-08 13:18:11 · 1647 阅读 · 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 · 318 阅读 · 0 评论 -
69 个经典 Spring 面试题和答案
目录Spring概述1. 什么是spring?2. 使用Spring框架的好处是什么?3. Spring由哪些模块组成?4. 核心容器(应用上下文) 模块5. BeanFactory – BeanFactory 实现举例6. XMLBeanFactory7. 解释AOP模块8. 解释JDBC抽象和DAO模块9. 解释对象/关系映射集成模块10. ...转载 2019-06-27 14:29:21 · 442 阅读 · 0 评论 -
【Spring源码】Spring IOC 容器源码分析
目录引言BeanFactory 简介启动过程分析创建 Bean 容器前的准备工作创建 Bean 容器,加载并注册 BeanBean 容器实例化完成后准备 Bean 容器: prepareBeanFactory初始化所有的 singleton beans附录id 和 name配置是否允许 Bean 覆盖、是否允许循环依赖profile工厂模式生成 ...转载 2019-06-26 09:52:01 · 347 阅读 · 0 评论 -
【Spring源码】Spring AOP 使用介绍,从前世到今生
目录AOP, AspectJ, Spring AOPAOP 术语解释Spring AOPSpring 1.2 中的配置Spring 2.0 @AspectJ 配置Spring 2.0 schema-based 配置小结附录前面写过 Spring IOC 的源码分析,很多读者希望可以出一个 Spring AOP 的源码分析,不过 Spring AOP 的源码还是比...转载 2019-06-26 09:59:00 · 269 阅读 · 0 评论 -
【Spring源码】Spring AOP 源码解析
目录前言本文使用的调试代码IOC 容器管理 AOP 实例ProxyFactory 详解基于注解的 Spring AOP 源码分析闲聊 InstantiationAwareBeanPostProcessor小结之前写过 IOC 的源码分析,那篇文章真的有点长,看完需要点耐心。很多读者希望能写一写 Spring AOP 的源码分析文章,这样读者看完 IOC + AOP ...转载 2019-06-27 09:54:54 · 252 阅读 · 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 · 398 阅读 · 0 评论 -
Mybatis源码分析之SqlSession和Excutor(二)
目录1:openSessionFromDataSource2:Executor通过上一篇文章的分析我们,我初步了解了它是如何创建sessionFactory的(地址:Mybatis源码分析之SqlSessionFactory(一)),今天我们分析下Mybatis如何创建SqlSession( sessionFactory.openSession())和Excutor到底做了什么事情...转载 2019-06-26 17:36:39 · 179 阅读 · 0 评论 -
Mybatis源码分析之Mapper执行SQL过程(三)
目录1:DefaultSqlSession获取getMapper2:Configuration获取getMapper3:MapperRegistry获取getMapper4:MapperProxyFactoryMybatis源码分析之SqlSessionFactory(一)Mybatis源码分析之SqlSession和Excutor(二)上两篇已经讲解了SqlSessi...转载 2019-06-26 17:53:18 · 249 阅读 · 0 评论 -
Mybatis源码分析之Cache一级缓存原理(四)
目录一:什么是一级缓存二:如何执行缓存三:一级缓存生命周期之前的文章我已经基本讲解到了SqlSessionFactory、SqlSession、Excutor以及Mpper执行SQL过程,下面我来了解下myabtis的缓存,它的缓存分为一级缓存和二级缓存,本文我们主要分析下一级缓存。先看一个例子,代码还是之前(第一篇)的的demopublicstaticv...转载 2019-06-27 10:11:52 · 206 阅读 · 0 评论 -
Mybatis源码分析之Cache二级缓存原理 (五)
目录一:Cache类的介绍二:二级缓存初始化三:缓存查数据 四:一级和二级缓存的先后顺序五:使用二级缓存需要注意:一:Cache类的介绍讲解缓存之前我们需要先了解一下Cache接口以及实现MyBatis定义了一个org.apache.ibatis.cache.Cache接口作为其Cache提供者的SPI(ServiceProvider Interface) ,所有的M...转载 2019-06-27 10:34:49 · 387 阅读 · 0 评论