自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 Dubbo源码解析之配置解析篇

阅读须知dubbo版本:2.6.0spring版本:4.3.8文章中使用/**/注释的方法会做深入分析正文分析dubbo源码需要读者对Spring自定义标签解析的知识有所了解,可以阅读笔者相关文章进行学习,详见传送门。文章中介绍的一些配置的使用我们可以从dubbo.io API官方文档中找到详细说明。我们从dubbo标签的解析开始分析源码: DubboNamespaceHan...

2018-01-27 22:40:36 2757 2

原创 Spring源码解析之整合Mybatis

阅读须知整合包版本:1.3.1注释规则: //单行注释做普通注释/**/多行注释做深入分析建议配合源码阅读正文首先我们来看Spring整合Mybatis的配置:<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="conf

2018-01-25 23:31:05 6457 1

原创 Mybatis源码解析之拦截器篇

阅读须知Mybatis源码版本:3.4.4文章中使用/**/注释的方法会做深入分析正文本篇文章我们来分析Mybatis拦截器的源码,进入源码分析之前,我们先来看一个Mybatis拦截器实际应用的小例子 — 分页拦截器:/** * 分页查询对象,走分页拦截器时使用 */public class PageCondition { private int tota...

2018-01-22 21:41:33 1489

原创 Mybatis源码解析之缓存篇

阅读须知Mybatis源码版本:3.4.4注释规则: //单行注释做普通注释/**/多行注释做深入分析建议配合Mybatis源码阅读正文本文从源码分析Mybatis一级和二级缓存的应用,进而阐述使用Mybatis缓存时的一些注意事项,建议读者首先去了解一下Mybatis的读写流程,可以看一下笔者对相关流程源码分析的文章。 在介绍Mybatis一级缓存和二级缓存之前,需要首先理解两个概

2018-01-21 20:10:18 1440

原创 Mybatis源码解析之写流程

阅读须知Mybatis源码版本:3.4.4列表内容注释规则: //单行注释做普通注释/**/多行注释做深入分析建议配合Mybatis源码阅读正文承接上文,我们继续来分析写操作: DefaultSqlSession:public int insert(String statement, Object parameter) { return update(statement,

2018-01-21 18:20:16 1684

原创 Mybatis源码解析之查询流程

阅读须知Mybatis源码版本:3.4.4注释规则: //单行注释做普通注释/**/多行注释做深入分析建议配合Mybatis源码阅读正文上篇文章中我们分析mapper的创建,Mybatis用JDK动态代理为mapper创建代理类,其中MapperProxy作为InvocationHandler角色,所以调用目标mapper方法时会执行其invoke方法,我们来分析Mapp

2018-01-20 16:17:19 5619

原创 Mybatis源码解析之mapper的创建

阅读须知文章中使用//单行注释做代码的简单注释,而/**/多行注释的代码会做深入分析,为了避免篇幅过长,删掉了Mybatis原来的注释和空行,建议配合Mybatis源代码进行阅读,本文对应的Mybatis源码的版本为3.4.4。本文的主要内容是分析Mybatis执行流程的源码。正文在Mybatis标签解析源码分析的文章中,我们看到,整个标签解析其实就是构建SqlSessionFac

2018-01-16 20:38:53 1333

原创 Spring事务源码解析之事务提交篇

阅读须知Spring源码版本:4.3.8注释规则: //单行注释做普通注释/**/多行注释做深入分析建议配合Spring源码阅读正文承接上文,我们来看事务的提交操作: TransactionAspectSupport:protected void commitTransactionAfterReturning(TransactionInfo txInfo) { if (txI

2018-01-14 20:04:24 3134

原创 Spring事务源码解析之事务回滚篇

阅读须知文章中使用//单行注释做代码的简单注释,而/**/多行注释的代码会做深入分析,为了避免篇幅过长,删掉了Spring原来的注释和空行,建议配合Spring源代码进行阅读,本文对应的Spring源码的版本为4.3.8。本文的主要内容是分析Spring MVC配置解析和执行前的准备工作源码。正文承接上文,Spring事务会根据目标业务方法的执行结果做提交或回滚操作,我们先看一下回滚操作: Tra

2018-01-14 17:53:12 4492 2

原创 Spring 源码解析—事务执行

Spring 事务执行的源码详解,包含各种事务传播行为的处理

2018-01-14 16:11:17 2084

原创 SpringAOP源码解析之执行篇

阅读须知Spring源码版本:4.3.8文章中使用/**/注释的方法会做深入分析正文上篇文章中我们分析的Spring AOP代理创建的过程,JDK动态代理还有一个关键的角色就是InvocationHandler,创建代理对象时传入了this,所以我们断定,JdkDynamicAopProxy一定实现了InvocationHandler接口,分析其invoke方法:publ...

2018-01-14 15:15:05 3058 2

原创 Spring事务源码解析之tx:annotation-driven标签解析

Spring事务是我们日常工作中经常使用的一项技术,Spring提供了编程、注解、aop切面三种方式供我们使用Spring事务,其中编程式事务因为对代码入侵较大所以不被推荐使用,注解和aop切面的方式可以基于需求自行选择,我们以注解的方式为例来分析Spring事务的原理和源码实现。

2018-01-14 13:53:50 5960

原创 SpringAOP源码解析之aop:aspectj-autoproxy标签解析

阅读须知文章中使用//单行注释做代码的简单注释,而/**/多行注释的代码会做深入分析,为了避免篇幅过长,删掉了Spring原来的注释和空行,建议配合Spring源代码进行阅读,本文对应的Spring源码的版本为4.3.8。本文的主要内容是分析Spring AOP配置解析的源码。正文Spring AOP是我们日常开发中经常使用的工具,常被用来做统一的日志、异常处理、监控等功能,使用方法在此不多赘述,有

2018-01-11 19:33:04 9630

原创 SpringMVC源码解析之配置解析篇

阅读须知文章中使用//单行注释做代码的简单注释,而/**/多行注释的代码会做深入分析,为了避免篇幅过长,删掉了Spring原来的注释和空行,建议配合Spring源代码进行阅读,本文对应的Spring源码的版本为4.3.8。本文的主要内容是分析Spring MVC配置解析和执行前的准备工作源码。正文我们在使用SpringMVC时首先要配置web.xml:<?xml version="1.0" enco

2018-01-11 18:51:24 4346 1

翻译 MySQL官方文档14.4.8 Undo Logs撤销日志

原文地址:https://dev.mysql.com/doc/refman/5.7/en/innodb-undo-logs.html14.4.8撤消日志撤销日志是与单个事务关联的撤消日志记录的集合,撤销日志记录包含有关如何撤消事务对聚簇索引记录的最新更改的信息,如果另一个事务需要查看原始数据(作为一致读取操作的一部分),则从撤消日志记录中检索未修改的数据,撤消日志存在于撤销日志段中,该日志...

2018-01-11 15:17:10 879

原创 深度解析InnoDB多版本并发控制(MVCC)

前言MVCC应用于InnoDB的快照读,快照读意味着InnoDB使用多版本化在某个时间点向查询呈现数据库的快照。有关快照读的更多信息,详见MySQL官方文档14.5.2.3节 — 一致性非锁定读取译文。本文的分析都是针对InnoDB引擎和REPEATABLE_READ事务隔离级别。读者可以先看一下MySQL官方文档对多版本控制的介绍,方便于更好的理解本文,笔者对相关章节进行了翻译,详见...

2018-01-10 15:24:31 5474

翻译 MySQL官方文档14.3 InnoDB多版本控制

原文地址:https://dev.mysql.com/doc/refman/5.7/en/innodb-multi-versioning.html14.3 InnoDB多版本控制InnoDB是一个多版本的存储引擎,它保存着有关行修改的旧版本信息,支持事务特性,例如并发和回滚,此信息存储在称为回滚段(oracle的一个类似的数据结构)的数据结构的表空间中,InnoDB使用回滚段中的信息来执行...

2018-01-10 09:31:57 1333

原创 Spring源码解析之@Component注解的扫描

阅读须知文章中使用//单行注释做代码的简单注释,而/**/多行注释的代码会做深入分析,为了避免篇幅过长,删掉了Spring原来的注释和空行,建议配合Spring源代码进行阅读,本文对应的Spring源码的版本为4.3.8。本文的主要内容是分析Spring注解扫描流程的源码。正文承接上文,下面就是扫描的流程: ClassPathBeanDefinitionScanner:protected Set<

2018-01-10 08:54:00 7124 3

原创 Spring源码解析之context:component-scan标签解析

阅读须知Spring源码版本:4.3.8文章中使用/**/注释的方法会做深入分析正文现在我们使用Spring的时候,基本上很少使用标签配置的方式来声明bean了,都是使用注解的方式来声明bean,下面我们就来分析一下这部分的源码实现。 在使用注解之前,我们要首先配置一下<context:component-scan/>标签,我们就以这个标签的解析作为入口来分析,这里...

2018-01-10 08:44:14 2824

原创 Spring源码解析之ApplicationContext

阅读须知Spring源码版本:4.3.8文章中使用/**/注释的方法会做深入分析正文ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring-config.xml");这句代码相信大家都很熟悉,我们用这句代码加载配置文件来初始化Spring,下面我们就以这句代码作为...

2018-01-09 10:48:47 4344

Java 8实战(中文完整版).pdf

java8 实战 中文版 完整版 清晰 java8 in action 中文翻译版

2018-05-04

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

TA关注的人

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