From 57fa2deb8f920e5838be59da18d33211425f207f Mon Sep 17 00:00:00 2001 From: AmyliaY <471816751@qq.com> Date: Tue, 11 Feb 2020 23:11:48 +0800 Subject: [PATCH] =?UTF-8?q?Netty=EF=BC=8CIO=E6=A8=A1=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 26 +- ...1、反射工具箱和TypeHandler系列.md | 114 +++---- .../2、DataSource及Transaction模块.md | 137 ++++----- .../基础支持层/3、binding模块.md | 200 +++++++------ .../基础支持层/4、缓存模块.md | 155 +++++----- .../核心处理层/1、MyBatis初始化.md | 282 +++++++++--------- docs/Netty/IO/NIO原理详解.md | 1 - docs/Netty/IOTechnologyBase/IO模型.md | 54 ++++ .../四种IO编程及对比.md | 1 + ...BIO、NIO、AIO再从头到尾扯一遍.md | 0 images/Netty/IO复用模型.png | Bin 0 -> 146936 bytes images/Netty/信号驱动IO模型.png | Bin 0 -> 135523 bytes images/Netty/异步IO模型.png | Bin 0 -> 113143 bytes images/Netty/阻塞IO模型.png | Bin 0 -> 101641 bytes images/Netty/非阻塞IO模型.png | Bin 0 -> 146417 bytes 15 files changed, 523 insertions(+), 447 deletions(-) delete mode 100644 docs/Netty/IO/NIO原理详解.md create mode 100644 docs/Netty/IOTechnologyBase/IO模型.md create mode 100644 docs/Netty/IOTechnologyBase/四种IO编程及对比.md rename docs/Netty/{IO => IOTechnologyBase}/把被说烂的BIO、NIO、AIO再从头到尾扯一遍.md (100%) create mode 100644 images/Netty/IO复用模型.png create mode 100644 images/Netty/信号驱动IO模型.png create mode 100644 images/Netty/异步IO模型.png create mode 100644 images/Netty/阻塞IO模型.png create mode 100644 images/Netty/非阻塞IO模型.png diff --git a/README.md b/README.md index e34d698..e988390 100644 --- a/README.md +++ b/README.md @@ -83,11 +83,29 @@ ## Netty -### IO -- [把被说烂的 BIO、NIO、AIO 再从头到尾扯一遍](docs/Netty/IO/把被说烂的BIO、NIO、AIO再从头到尾扯一遍.md) +### 网络 IO 技术基础 +- [把被说烂的 BIO、NIO、AIO 再从头到尾扯一遍](docs/Netty/IOTechnologyBase/把被说烂的BIO、NIO、AIO再从头到尾扯一遍.md) +- [IO模型](docs/Netty/IOTechnologyBase/IO模型.md) +- [四种IO编程及对比](docs/Netty/IOTechnologyBase/四种IO编程及对比.md) -### 设计原理 -- 努力编写中... +### Netty NIO开发指南 +- [TCP粘包/拆包问题的解决之道]() +- [分隔符解码器 和 定长解码器]() + +### Netty 编解码开发指南 +- [编解码技术]() + +### Netty 多协议开发和应用 +- [WebSocket 协议开发]() + +### Netty 源码分析 +- [Channel和Unsafe组件]() +- [ChannelPipeline和ChannelHandler组件]() +- [EventLoop和EventLoopGroup组件]() + +### Netty高级特性 +- [Java多线程编程在Netty中的应用]() +- [Netty的高性能之道]() ## Redis - 努力编写中... diff --git a/docs/Mybatis/基础支持层/1、反射工具箱和TypeHandler系列.md b/docs/Mybatis/基础支持层/1、反射工具箱和TypeHandler系列.md index 9b792df..f57a270 100644 --- a/docs/Mybatis/基础支持层/1、反射工具箱和TypeHandler系列.md +++ b/docs/Mybatis/基础支持层/1、反射工具箱和TypeHandler系列.md @@ -1,51 +1,51 @@ -在Mybatis的基础支持层主要看一下支撑ORM实现的底层代码。 +在 Mybatis 的基础支持层主要看一下支撑 ORM实现 的底层代码。 ## 1 反射工具包 ### 1.1Reflector -Reflector类主要实现了对JavaBean的元数据属性的封装,比如:可读属性列表,可写属性列表;及反射操作的封装,如:属性对应的setter方法,getter方法的反射调用。源码实现如下: +Reflector类 主要实现了对 JavaBean 的元数据属性的封装,比如:可读属性列表,可写属性列表;及反射操作的封装,如:属性对应的 setter方法,getter方法 的反射调用。源码实现如下: ```java public class Reflector { - /** JavaBean的Class类型,在调用Reflector的构造方法时初始化该值 */ + /** JavaBean 的 Class类型,在调用 Reflector 的构造方法时初始化该值 */ private final Class type; /** 可读的属性列表 */ private final String[] readablePropertyNames; private final String[] writablePropertyNames; - /** key属性名,value该属性名对应的setter方法调用器 */ + /** key 属性名,value 该属性名对应的 setter方法调用器 */ private final Map setMethods = new HashMap<>(); private final Map getMethods = new HashMap<>(); - /** key属性名称,value该属性setter方法的返回值类型 */ + /** key 属性名称,value 该属性 setter方法的返回值类型 */ private final Map> setTypes = new HashMap<>(); private final Map> getTypes = new HashMap<>(); - /** type的默认构造方法 */ + /** type 的默认构造方法 */ private Constructor defaultConstructor; /** 所有属性名称的集合 */ private Map caseInsensitivePropertyMap = new HashMap<>(); /** - * 里面的大部分方法都是通过简单的JDK反射操作实现的 + * 里面的大部分方法都是通过简单的 JDK反射操作 实现的 * @param clazz */ public Reflector(Class clazz) { type = clazz; addDefaultConstructor(clazz); - // 处理clazz中的所有getter方法,填充getMethods集合和getTypes集合 + // 处理 clazz 中的 所有getter方法,填充 getMethods集合 和 getTypes集合 addGetMethods(clazz); addSetMethods(clazz); - // 处理没有getter、setter方法的字段 + // 处理没有 getter、setter方法 的字段 addFields(clazz); - // 根据getMethods、setMethods集合初始化可读、可写的属性 + // 根据 getMethods、setMethods集合 初始化可读、可写的属性 readablePropertyNames = getMethods.keySet().toArray(new String[0]); writablePropertyNames = setMethods.keySet().toArray(new String[0]); - // 初始化caseInsensitivePropertyMap集合,key属性名的大写,value属性名 + // 初始化 caseInsensitivePropertyMap集合,key 属性名的大写,value 属性名 for (String propName : readablePropertyNames) { caseInsensitivePropertyMap.put(propName.toUpperCase(Locale.ENGLISH), propName); } @@ -56,7 +56,7 @@ public class Reflector { } ``` ### 1.2 ReflectorFactory -顾名思义,Reflector的工厂模式,跟大部分工厂类一样,里面肯定有通过标识获取对象的方法。类的设计也遵照了 接口,实现类的模式,虽然本接口只有一个默认实现。 +顾名思义,Reflector 的工厂模式,跟大部分工厂类一样,里面肯定有通过标识获取对象的方法。类的设计也遵照了 接口,实现类的模式,虽然本接口只有一个默认实现。 ```java public interface ReflectorFactory { @@ -65,7 +65,7 @@ public interface ReflectorFactory { void setClassCacheEnabled(boolean classCacheEnabled); /** - * 主要看一下这个方法,通过JavaBean的clazz获取该JavaBean对应的Reflector + * 主要看一下这个方法,通过 JavaBean 的 clazz 获取该 JavaBean 对应的 Reflector */ Reflector findForClass(Class type); } @@ -77,7 +77,7 @@ public class DefaultReflectorFactory implements ReflectorFactory { private final ConcurrentMap, Reflector> reflectorMap = new ConcurrentHashMap<>(); /** - * 实例化一个ConcurrentMap全局变量,然后暴露一个方法从map中获取目标对象,这种设计是很多框架都会用的 + * 实例化一个 ConcurrentMap全局变量,然后暴露一个方法从 map 中获取目标对象,这种设计是很多框架都会用的 */ @Override public Reflector findForClass(Class type) { @@ -104,14 +104,14 @@ public class DefaultReflectorFactory implements ReflectorFactory { } /** - * 支持定制化ReflectorFactory + * 支持定制化 ReflectorFactory */ public class CustomReflectorFactory extends DefaultReflectorFactory { } ``` ### 1.3 ObjectFactory -该类也是接口+一个默认实现类,并且支持自定义扩展,mybatis中有很多这样的设计方式。 +该类也是接口加一个默认实现类,并且支持自定义扩展,Mybatis 中有很多这样的设计方式。 ```java /** * MyBatis uses an ObjectFactory to create all needed new Objects. @@ -144,8 +144,8 @@ public interface ObjectFactory { } /** - * ObjectFactory接口的唯一直接实现,反射工厂,根据传入的参数列表,选择 - * 合适的构造函数实例化对象,不传参数,则直接调用其午餐构造方法 + * ObjectFactory接口 的唯一直接实现,反射工厂,根据传入的参数列表,选择 + * 合适的构造函数实例化对象,不传参数,则直接调用其无参构造方法 */ public class DefaultObjectFactory implements ObjectFactory, Serializable { @@ -165,7 +165,7 @@ public class DefaultObjectFactory implements ObjectFactory, Serializable { } /** - * 通过反射来实例化给定的类,如果调用无参构造方法,则直接constructor.newInstance() + * 通过反射来实例化给定的类,如果调用无参构造方法,则直接 constructor.newInstance() * 如果有参,则根据参数类型和参数值进行调用 */ private T instantiateClass(Class type, List> constructorArgTypes, List constructorArgs) { @@ -206,12 +206,12 @@ public class DefaultObjectFactory implements ObjectFactory, Serializable { } ``` ## 2 类型转换 -类型转换是实现ORM的重要一环,由于 数据库中的数据类型与Java语言的数据类型并不对等,所以在PrepareStatement为sql语句绑定参数时,需要从Java类型转换成JDBC类型,而从结果集获取数据时,又要将JDBC类型转换成Java类型,mybatis使用TypeHandler完成了上述的双向转换。 +类型转换是实现 ORM 的重要一环,由于数据库中的数据类型与 Java语言 的数据类型并不对等,所以在 PrepareStatement 为 sql语句 绑定参数时,需要从 Java类型 转换成 JDBC类型,而从结果集获取数据时,又要将 JDBC类型 转换成 Java类型,Mybatis 使用 TypeHandler 完成了上述的双向转换。 ### 2.1 JdbcType -mybatis通过JdbcType这个枚举类型代表了JDBC中的数据类型 +Mybatis 通过 JdbcType 这个枚举类型代表了 JDBC 中的数据类型。 ```java /** - * 该枚举类描述了JDBC中的数据类型 + * 该枚举类描述了 JDBC 中的数据类型 */ public enum JdbcType { /* @@ -262,7 +262,7 @@ public enum JdbcType { public final int TYPE_CODE; - /** 该静态集合维护了 常量编码 与 JdbcType之间的关系 */ + /** 该静态集合维护了 常量编码 与 JdbcType 之间的关系 */ private static Map codeLookup = new HashMap<>(); static { @@ -282,14 +282,14 @@ public enum JdbcType { } ``` ### 2.2 TypeHandler -TypeHandler是mybatis中所有类型转换器的顶层接口,主要用于实现 数据从Java类型到JdbcType类型的相互转换。 +TypeHandler 是 Mybatis 中所有类型转换器的顶层接口,主要用于实现数据从 Java类型 到 JdbcType类型 的相互转换。 ```java public interface TypeHandler { - /** 通过PreparedStatement为SQL语句绑定参数时,将数据从Java类型转换为JDBC类型 */ + /** 通过 PreparedStatement 为 SQL语句 绑定参数时,将数据从 Java类型 转换为 JDBC类型 */ void setParameter(PreparedStatement ps, int i, T parameter, JdbcType jdbcType) throws SQLException; - /** 从结果集获取数据时,将数据由JDBC类型转换成Java类型 */ + /** 从结果集获取数据时,将数据由 JDBC类型 转换成 Java类型 */ T getResult(ResultSet rs, String columnName) throws SQLException; T getResult(ResultSet rs, int columnIndex) throws SQLException; @@ -299,7 +299,7 @@ public interface TypeHandler { } /** - * 可用于实现自定义的TypeHandler + * 可用于实现自定义的 TypeHandler */ public abstract class BaseTypeHandler extends TypeReference implements TypeHandler { @@ -344,13 +344,13 @@ public abstract class BaseTypeHandler extends TypeReference implements Typ public class IntegerTypeHandler extends BaseTypeHandler { /** - 1. NonNull就是NoneNull,非空的意思 + * NonNull 就是 NoneNull,非空的意思 */ @Override public void setNonNullParameter(PreparedStatement ps, int i, Integer parameter, JdbcType jdbcType) throws SQLException { - // IntegerTypeHandler就调用PreparedStatement的setInt方法 - // BooleanTypeHandler就调用PreparedStatement的setBoolean方法 + // IntegerTypeHandler 就调用 PreparedStatement 的 setInt()方法 + // BooleanTypeHandler 就调用 PreparedStatement 的 setBoolean()方法 // 其它的基本数据类型,以此类推 ps.setInt(i, parameter); } @@ -377,29 +377,29 @@ public class IntegerTypeHandler extends BaseTypeHandler { } } ``` -TypeHandler主要用于单个参数的类型转换,如果要将多个列的值转换成一个Java对象,可以在映射文件中定义合适的映射规则<resultMap> 完成映射。 +TypeHandler 主要用于单个参数的类型转换,如果要将多个列的值转换成一个 Java对象,可以在映射文件中定义合适的映射规则 <resultMap> 完成映射。 ### 2.3 TypeHandlerRegistry -TypeHandlerRegistry主要负责管理所有已知的TypeHandler,mybatis在初始化过程中会为所有已知的TypeHandler创建对象,并注册到TypeHandlerRegistry。 +TypeHandlerRegistry 主要负责管理所有已知的 TypeHandler,Mybatis 在初始化过程中会为所有已知的 TypeHandler 创建对象,并注册到 TypeHandlerRegistry。 ```java - //TypeHandlerRegistry中的核心字段 + // TypeHandlerRegistry 中的核心字段如下 - /** 该集合主要用于从结果集读取数据时,将数据从JDBC类型转换成Java类型 */ + /** 该集合主要用于从结果集读取数据时,将数据从 JDBC类型 转换成 Java类型 */ private final Map> jdbcTypeHandlerMap = new EnumMap<>(JdbcType.class); /** - * 记录了Java类型向指定JdbcType转换时,需要使用的TypeHandler对象。 - * 如:String可能转换成数据库的char、varchar等多种类型,所以存在一对多的关系 + * 记录了 Java类型 向指定 JdbcType 转换时,需要使用的 TypeHandler对象。 + * 如:String 可能转换成数据库的 char、varchar 等多种类型,所以存在一对多的关系 */ private final Map>> typeHandlerMap = new ConcurrentHashMap<>(); - /** key TypeHandler的类型;value 该TypeHandler类型对应的TypeHandler对象 */ + /** key:TypeHandler 的类型;value:该 TypeHandler类型 对应的 TypeHandler对象 */ private final Map, TypeHandler> allTypeHandlersMap = new HashMap<>(); ``` -1. **注册TypeHandler对象** -TypeHandlerRegistry中的register()方法实现了注册TypeHandler对象的功能,该方法存在多种重载,但大多数register()方法最终都会走register(Type javaType, JdbcType jdbcType, TypeHandler handler)的处理逻辑,该重载方法中分别指定了TypeHandler能够处理的Java类型、JDBC类型、TypeHandler对象。 +**1、注册TypeHandler对象** +TypeHandlerRegistry 中的 register()方法 实现了注册 TypeHandler对象 的功能,该方法存在多种重载,但大多数 register()方法 最终都会走 register(Type javaType, JdbcType jdbcType, TypeHandler handler) 的处理逻辑,该重载方法中分别指定了 TypeHandler 能够处理的 Java类型、JDBC类型、TypeHandler对象。 ```java /** - * TypeHandlerRegistry中对register方法实现了多种重载,本register方法 + * TypeHandlerRegistry 中对 register()方法 实现了多种重载,本 register()方法 * 被很多重载方法调用,用来完成注册功能。 */ private void register(Type javaType, JdbcType jdbcType, TypeHandler handler) { @@ -414,14 +414,14 @@ TypeHandlerRegistry中的register()方法实现了注册TypeHandler对象的功 allTypeHandlersMap.put(handler.getClass(), handler); } ``` -另外,TypeHandlerRegistry还提供了扫描并注册指定包目录下TypeHandler实现类 的register()方法重载。 +另外,TypeHandlerRegistry 还提供了扫描并注册指定包目录下 TypeHandler实现类 的 register()方法 重载。 ```java /** - * 从指定包名packageName中获取自定义的TypeHandler实现类 + * 从指定 包名packageName 中获取自定义的 TypeHandler实现类 */ public void register(String packageName) { ResolverUtil> resolverUtil = new ResolverUtil<>(); - // 查找指定包下的TypeHandler接口实现类 + // 查找指定包下的 TypeHandler接口实现类 resolverUtil.find(new ResolverUtil.IsA(TypeHandler.class), packageName); Set>> handlerSet = resolverUtil.getClasses(); for (Class type : handlerSet) { @@ -432,14 +432,14 @@ TypeHandlerRegistry中的register()方法实现了注册TypeHandler对象的功 } } ``` -最后看一下TypeHandlerRegistry的构造方法,其通过多种register()方法重载,完成了所有已知的TypeHandler的重载。 +最后看一下 TypeHandlerRegistry 的构造方法,其通过多种 register()方法 重载,完成了所有已知的 TypeHandler 的重载。 ```java /** - * 进行Java及JDBC基本数据类型的TypeHandler注册 - * 除了注册mybatis提供的基本TypeHandler外,我们也可以添加自定义的TypeHandler - * 接口实现,在mybatis-config.xml配置文件中节点下 添加相应的 - * 节点配置,并指定自定义的TypeHandler实现类。mybatis在初始化时 - * 会解析该节点,并将TypeHandler类型的对象注册到TypeHandlerRegistry中 供mybatis后续使用 + * 进行 Java 及 JDBC基本数据类型 的 TypeHandler 注册 + * 除了注册 Mybatis 提供的 基本TypeHandler 外,我们也可以添加自定义的 TypeHandler + * 接口实现,在 mybatis-config.xml配置文件 中 节点 下添加相应的 + * 节点配置,并指定自定义的 TypeHandler实现类。Mybatis 在初始化时 + * 会解析该节点,并将 TypeHandler类型 的对象注册到 TypeHandlerRegistry 中供 Mybatis 后续使用 */ public TypeHandlerRegistry() { register(Boolean.class, new BooleanTypeHandler()); @@ -515,20 +515,20 @@ TypeHandlerRegistry中的register()方法实现了注册TypeHandler对象的功 register(JapaneseDate.class, new JapaneseDateTypeHandler()); } ``` -2. **查找TypeHandler** -TypeHandlerRegistry其实就是一个容器,前面注册了一堆东西,也就是为了方便获取,其对应的方法为getTypeHandler(),也是存在多种重载,其中最重要的一个重载为getTypeHandler(Type type, JdbcType jdbcType),它会根据指定的Java类型和JdbcType类型查找相应的TypeHandler对象。 +**2、查找TypeHandler** +TypeHandlerRegistry 其实就是一个容器,前面注册了一堆东西,也就是为了方便获取,其对应的方法为 getTypeHandler(),该方法也存在多种重载,其中最重要的一个重载为 getTypeHandler(Type type, JdbcType jdbcType),它会根据指定的 Java类型 和 JdbcType类型 查找相应的 TypeHandler对象。 ```java /** - * 获取TypeHandler对象 - * getTypeHandler方法亦存在多种重载,而本重载方法被其它多个重载方法调用 + * 获取 TypeHandler对象 + * getTypeHandler()方法 亦存在多种重载,而本重载方法被其它多个重载方法调用 */ private TypeHandler getTypeHandler(Type type, JdbcType jdbcType) { if (ParamMap.class.equals(type)) { return null; } - // Java数据类型与JDBC数据类型的关系往往是一对多, - // 所以一般会先根据Java数据类型获取Map> - // 再根据JDBC数据类型获取对应的TypeHandler + // Java数据类型 与 JDBC数据类型 的关系往往是一对多, + // 所以一般会先根据 Java数据类型 获取 Map>对象 + // 再根据 JDBC数据类型 获取对应的 TypeHandler对象 Map> jdbcHandlerMap = getJdbcHandlerMap(type); TypeHandler handler = null; if (jdbcHandlerMap != null) { @@ -545,4 +545,4 @@ TypeHandlerRegistry其实就是一个容器,前面注册了一堆东西,也 return (TypeHandler) handler; } ``` -除了mabatis本身自带的TypeHandler实现,我们还可以添加自定义的TypeHandler实现类,在配置文件mybatis-config.xml中的<typeHandler>标签下配置好自定义TypeHandler,mybatis就会在初始化时解析该标签内容,完成自定义TypeHandler的注册。 \ No newline at end of file +除了 Mabatis 本身自带的 TypeHandler实现,我们还可以添加自定义的 TypeHandler实现类,在配置文件 mybatis-config.xml 中的 <typeHandler> 标签下配置好 自定义TypeHandler,Mybatis 就会在初始化时解析该标签内容,完成 自定义TypeHandler 的注册。 \ No newline at end of file diff --git a/docs/Mybatis/基础支持层/2、DataSource及Transaction模块.md b/docs/Mybatis/基础支持层/2、DataSource及Transaction模块.md index 56e346d..a14c52e 100644 --- a/docs/Mybatis/基础支持层/2、DataSource及Transaction模块.md +++ b/docs/Mybatis/基础支持层/2、DataSource及Transaction模块.md @@ -1,15 +1,15 @@ -在数据持久层,数据源和事务是两个非常重要的组件,对数据持久层的影响很大,在实际开发中,一般会使用mybatis集成第三方数据源组件,如:c3p0、Druid,另外,mybatis也提供了自己的数据库连接池实现,本文会通过mybatis的源码实现来了解数据库连接池的设计。而事务方面,一般使用spring进行事务的管理,这里不做详细分析。下面我们看一下mybatis是如何对这两部分进行封装的。 +在数据持久层,数据源和事务是两个非常重要的组件,对数据持久层的影响很大,在实际开发中,一般会使用 Mybatis 集成第三方数据源组件,如:c3p0、Druid,另外,Mybatis 也提供了自己的数据库连接池实现,本文会通过 Mybatis 的源码实现来了解数据库连接池的设计。而事务方面,一般使用 Spring 进行事务的管理,这里不做详细分析。下面我们看一下 Mybatis 是如何对这两部分进行封装的。 ## 1 DataSource -常见的数据源都会实现javax.sql.DataSource接口,mybatis中提供了两个该接口的实现类,分别是:PooledDataSource和UnpooledDataSource,并使用不同的工厂类分别管理这两个类的对象。 +常见的数据源都会实现 javax.sql.DataSource接口,Mybatis 中提供了两个该接口的实现类,分别是:PooledDataSource 和 UnpooledDataSource,并使用不同的工厂类分别管理这两个类的对象。 ### 1.1 DataSourceFactory -DataSourceFactory系列类的设计比较简单,DataSourceFactory作为顶级接口,UnpooledDataSourceFactory实现了该接口,PooledDataSourceFactory又继承了UnpooledDataSourceFactory。 +DataSourceFactory系列类 的设计比较简单,DataSourceFactory 作为顶级接口,UnpooledDataSourceFactory 实现了该接口,PooledDataSourceFactory 又继承了 UnpooledDataSourceFactory。 ```java public interface DataSourceFactory { - // 设置DataSource的属性,一般紧跟在DataSource初始化之后 + // 设置 DataSource 的属性,一般紧跟在 DataSource 初始化之后 void setProperties(Properties props); - // 获取DataSource对象 + // 获取 DataSource对象 DataSource getDataSource(); } @@ -21,7 +21,7 @@ public class UnpooledDataSourceFactory implements DataSourceFactory { protected DataSource dataSource; - // 在实例化该工厂时,就完成了DataSource的实例化 + // 在实例化该工厂时,就完成了 DataSource 的实例化 public UnpooledDataSourceFactory() { this.dataSource = new UnpooledDataSource(); } @@ -29,13 +29,13 @@ public class UnpooledDataSourceFactory implements DataSourceFactory { @Override public void setProperties(Properties properties) { Properties driverProperties = new Properties(); - // 创建dataSource对应的MetaObject + // 创建 dataSource 对应的 MetaObject MetaObject metaDataSource = SystemMetaObject.forObject(dataSource); - // 处理properties中配置的数据源信息 + // 处理 properties 中配置的数据源信息 for (Object key : properties.keySet()) { String propertyName = (String) key; if (propertyName.startsWith(DRIVER_PROPERTY_PREFIX)) { - // 以"driver."开头的配置项是对DataSource的配置,将其记录到driverProperties中 + // 以 "driver." 开头的配置项是对 DataSource 的配置,将其记录到 driverProperties 中 String value = properties.getProperty(propertyName); driverProperties.setProperty(propertyName.substring(DRIVER_PROPERTY_PREFIX_LENGTH), value); } else if (metaDataSource.hasSetter(propertyName)) { @@ -47,8 +47,8 @@ public class UnpooledDataSourceFactory implements DataSourceFactory { } } if (driverProperties.size() > 0) { - // 设置数据源UnpooledDataSource的driverProperties属性, - // PooledDataSource中持有UnpooledDataSource对象 + // 设置数据源 UnpooledDataSource 的 driverProperties属性, + // PooledDataSource 中持有 UnpooledDataSource对象 metaDataSource.setValue("driverProperties", driverProperties); } } @@ -62,7 +62,7 @@ public class UnpooledDataSourceFactory implements DataSourceFactory { public class PooledDataSourceFactory extends UnpooledDataSourceFactory { - // 与UnpooledDataSourceFactory的不同之处是,其初始化的DataSource为PooledDataSource + // 与 UnpooledDataSourceFactory 的不同之处是,其初始化的 DataSource 为 PooledDataSource public PooledDataSourceFactory() { this.dataSource = new PooledDataSource(); } @@ -70,17 +70,17 @@ public class PooledDataSourceFactory extends UnpooledDataSourceFactory { ``` ### 1.2 UnpooledDataSource -本实现类实现了DataSource接口中的getConnection()及其重载方法,用于获取数据库连接。其中的主要属性及方法如下: +本实现类实现了 DataSource接口 中的 getConnection() 及其重载方法,用于获取数据库连接。其中的主要属性及方法如下: ```java public class UnpooledDataSource implements DataSource { - // 加载Driver驱动类的 类加载器 + // 加载 Driver驱动类 的类加载器 private ClassLoader driverClassLoader; - // 数据库连接驱动的相关配置,通过UnpooledDataSourceFactory的setProperties()方法设置进来的 + // 数据库连接驱动的相关配置,通过 UnpooledDataSourceFactory 的 setProperties()方法 设置进来的 private Properties driverProperties; - // 缓存所有已注册的数据库连接驱动Driver + // 缓存所有已注册的 数据库连接驱动Driver private static Map registeredDrivers = new ConcurrentHashMap<>(); // 数据库连接驱动名称 @@ -100,8 +100,8 @@ public class UnpooledDataSource implements DataSource { private Integer defaultNetworkTimeout; /** - * UnpooledDataSource被加载时,会通过该静态代码块将已经在DriverManager - * 中注册JDBC Driver复制一份到registeredDrivers + * UnpooledDataSource 被加载时,会通过该静态代码块将已经在 DriverManager + * 中注册的 JDBC Driver 注册到 registeredDrivers 中 */ static { Enumeration drivers = DriverManager.getDrivers(); @@ -111,11 +111,11 @@ public class UnpooledDataSource implements DataSource { } } - // getConnection()及其重载方法、doGetConnection(String username, String password)方法 + // getConnection() 及其重载方法、doGetConnection(String username, String password)方法 // 最终都会调用本方法 private Connection doGetConnection(Properties properties) throws SQLException { - // 初始化数据库驱动,该方法会创建配置中指定的Driver对象, - // 并将其注册到DriverManager和registeredDrivers中 + // 初始化数据库驱动,该方法会创建配置中指定的 Driver对象, + // 并将其注册到 DriverManager 和 registeredDrivers 中 initializeDriver(); Connection connection = DriverManager.getConnection(url, properties); // 配置数据库连接属性,如:连接超时时间、是否自动提交事务、事务隔离级别 @@ -134,12 +134,12 @@ public class UnpooledDataSource implements DataSource { } else { driverType = Resources.classForName(driver); } - // 通过反射 获取Driver实例对象 + // 通过反射获取 Driver实例对象 Driver driverInstance = (Driver)driverType.newInstance(); - // 注册驱动到DriverManager,DriverProxy是UnpooledDataSource的内部类 - // 也是Driver的静态代理类 + // 注册驱动到 DriverManager,DriverProxy 是 UnpooledDataSource 的内部类 + // 也是 Driver 的静态代理类 DriverManager.registerDriver(new DriverProxy(driverInstance)); - // 将driver缓存到registeredDrivers + // 将 driver 缓存到 registeredDrivers registeredDrivers.put(driver, driverInstance); } catch (Exception e) { throw new SQLException("Error setting driver on UnpooledDataSource. Cause: " + e); @@ -171,14 +171,14 @@ public class UnpooledDataSource implements DataSource { 3. 连接池会控制总连接上限及空闲连接上线,如果连接池中的连接总数已达上限,且都被占用,后续的连接请求会进入阻塞队列等待,直到有连接可用; 4. 如果连接池中空闲连接较多,已达到空闲连接上限,则返回的连接会被关闭掉,以降低系统开销。 -PooledDataSource实现了简易的数据库连接池功能,其创建数据库连接的功能依赖了上面的UnpooledDataSource。 +PooledDataSource 实现了简易的数据库连接池功能,其创建数据库连接的功能依赖了上面的 UnpooledDataSource。 #### 1.3.1 PooledConnection -PooledDataSource通过管理PooledConnection来实现对java.sql.Connection的管理。PooledConnection封装了java.sql.Connection数据库连接对象及其代理对象(JDK动态代理生成的)。PooledConnection继承了JDK动态代理的InvocationHandler接口。 +PooledDataSource 通过管理 PooledConnection 来实现对 java.sql.Connection 的管理。PooledConnection 封装了 java.sql.Connection数据库连接对象 及其代理对象(JDK动态代理生成的)。PooledConnection 继承了 JDK动态代理 的 InvocationHandler接口。 ```java class PooledConnection implements InvocationHandler { - // 记录当前PooledConnection对象所属的PooledDataSource对象 - // 当调用close()方法时会将PooledConnection放回该PooledDataSource + // 记录当前 PooledConnection对象 所属的 PooledDataSource对象 + // 当调用 close()方法 时会将 PooledConnection 放回该 PooledDataSource private final PooledDataSource dataSource; // 真正的数据库连接对象 private final Connection realConnection; @@ -190,30 +190,30 @@ class PooledConnection implements InvocationHandler { private long createdTimestamp; // 最后一次使用的 时间戳 private long lastUsedTimestamp; - // 由 数据库URL、用户名、密码 计算出来的hash值,可用于标识该连接所在的连接池 + // 由 数据库URL、用户名、密码 计算出来的 hash值,可用于标识该连接所在的连接池 private int connectionTypeCode; - // 检测当前PooledConnection连接池连接对象是否有效,主要用于 防止程序通过close()方法将 + // 检测当前 PooledConnection连接池连接对象 是否有效,主要用于 防止程序通过 close()方法 将 // 连接还给连接池之后,依然通过该连接操作数据库 private boolean valid; /** - * invoke()方法是本类的重点实现,也是proxyConnection代理连接对象的代理逻辑实现 - * 它会对close()方法的调用进行处理,并在调用realConnection的方法之前进行校验 + * invoke()方法 是本类的重点实现,也是 proxyConnection代理连接对象 的代理逻辑实现 + * 它会对 close()方法 的调用进行处理,并在调用 realConnection对象 的方法之前进行校验 */ @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { String methodName = method.getName(); - // 如果调用的是close()方法,则将其放进连接池,而不是真的关闭连接 + // 如果调用的是 close()方法,则将其放进连接池,而不是真的关闭连接 if (CLOSE.hashCode() == methodName.hashCode() && CLOSE.equals(methodName)) { dataSource.pushConnection(this); return null; } try { if (!Object.class.equals(method.getDeclaringClass())) { - // 通过上面的valid字段 校验连接是否有效 + // 通过上面的 valid字段 校验连接是否有效 checkConnection(); } - // 调用realConnection的对应方法 + // 调用 realConnection对象 的对应方法 return method.invoke(realConnection, args); } catch (Throwable t) { throw ExceptionUtil.unwrapThrowable(t); @@ -229,7 +229,7 @@ class PooledConnection implements InvocationHandler { } ``` #### 1.3.2 PoolState -PoolState主要用于管理PooledConnection对象状态,其通过持有两个List<PooledConnection>集合分别管理空闲状态的连接 和 活跃状态的连接。另外,PoolState还定义了一系列用于统计的字段。 +PoolState 主要用于管理 PooledConnection 对象状态,其通过持有两个 List<PooledConnection>集合 分别管理空闲状态的连接 和 活跃状态的连接。另外,PoolState 还定义了一系列用于统计的字段。 ```java public class PoolState { @@ -336,8 +336,8 @@ public class PoolState { } ``` #### 1.3.3 PooledDataSource -PooledDataSource管理的数据库连接对象 是由其持有的UnpooledDataSource对象创建的,并由PoolState管理所有连接的状态。 -PooledDataSource的getConnection()方法会首先调用popConnection()方法获取PooledConnection对象,然后通过PooledConnection的getProxyConnection()方法获取数据库连接的代理对象。popConnection()方法是PooledDataSource的核心逻辑之一,其整体的逻辑关系如下图: +PooledDataSource 管理的数据库连接对象 是由其持有的 UnpooledDataSource对象 创建的,并由 PoolState 管理所有连接的状态。 +PooledDataSource 的 getConnection()方法 会首先调用 popConnection()方法 获取 PooledConnection对象,然后通过 PooledConnection 的 getProxyConnection()方法 获取数据库连接的代理对象。popConnection()方法 是 PooledDataSource 的核心逻辑之一,其整体的逻辑关系如下图: ![avatar](/images/mybatis/数据库连接池流程图.png) @@ -375,8 +375,8 @@ public class PooledDataSource implements DataSource { private int expectedConnectionTypeCode; /** - * 下面的两个getConnection()方法都会调用popConnection() - * 获取PooledConnection对象,然后调用该对象的getProxyConnection()方法 + * 下面的两个 getConnection()方法 都会调用 popConnection() + * 获取 PooledConnection对象,然后调用该对象的 getProxyConnection()方法 * 获取数据库连接的代理对象 */ @Override @@ -390,7 +390,7 @@ public class PooledDataSource implements DataSource { } /** - * 本方法实现了连接池获取连接对象的具体逻辑,是PooledDataSource的核心逻辑之一 + * 本方法实现了连接池获取连接对象的具体逻辑,是 PooledDataSource 的核心逻辑之一 */ private PooledConnection popConnection(String username, String password) throws SQLException { boolean countedWait = false; @@ -421,7 +421,7 @@ public class PooledDataSource implements DataSource { PooledConnection oldestActiveConnection = state.activeConnections.get(0); long longestCheckoutTime = oldestActiveConnection.getCheckoutTime(); if (longestCheckoutTime > poolMaximumCheckoutTime) { - // 如果最老的连接超时了,就在PoolState中记录一下相关信息,然后将该连接对象释放掉 + // 如果最老的连接超时了,就在 PoolState 中记录一下相关信息,然后将该连接对象释放掉 state.claimedOverdueConnectionCount++; state.accumulatedCheckoutTimeOfOverdueConnections += longestCheckoutTime; state.accumulatedCheckoutTime += longestCheckoutTime; @@ -442,7 +442,7 @@ public class PooledDataSource implements DataSource { log.debug("Bad connection. Could not roll back"); } } - // 从最老连接中取出真正的 数据库连接对象及相关信息,用来构建新的PooledConnection对象 + // 从最老连接中取出真正的 数据库连接对象及相关信息,用来构建新的 PooledConnection对象 conn = new PooledConnection(oldestActiveConnection.getRealConnection(), this); conn.setCreatedTimestamp(oldestActiveConnection.getCreatedTimestamp()); conn.setLastUsedTimestamp(oldestActiveConnection.getLastUsedTimestamp()); @@ -453,7 +453,7 @@ public class PooledDataSource implements DataSource { } } else { // 如果最老的连接对象也没超时,则进入阻塞等待, - // 等待时间poolTimeToWait可自行设置 + // 等待时间 poolTimeToWait 可自行设置 try { if (!countedWait) { // 等待次数加一 @@ -464,7 +464,7 @@ public class PooledDataSource implements DataSource { log.debug("Waiting as long as " + poolTimeToWait + " milliseconds for connection."); } long wt = System.currentTimeMillis(); - // native方法,使执行到这里的线程阻塞等待poolTimeToWait毫秒 + // native方法,使执行到这里的线程阻塞等待 poolTimeToWait毫秒 state.wait(poolTimeToWait); // 统计累计等待的时间 state.accumulatedWaitTime += System.currentTimeMillis() - wt; @@ -529,9 +529,9 @@ public class PooledDataSource implements DataSource { } /** - * 看一下之前讲过的PooledConnection中的动态代理方法invoke(),可以发现 - * 当调用数据库连接代理对象的close()方法时,并未关闭真正的数据库连接, - * 而是调用了本方法,将连接对象归还给连接池,方便后续使用,本方法也是PooledDataSource的核心逻辑之一 + * 看一下之前讲过的 PooledConnection 中的 动态代理方法invoke(),可以发现 + * 当调用数据库连接代理对象的 close()方法 时,并未关闭真正的数据库连接, + * 而是调用了本方法,将连接对象归还给连接池,方便后续使用,本方法也是 PooledDataSource 的核心逻辑之一 */ protected void pushConnection(PooledConnection conn) throws SQLException { // 国际惯例,操作公共资源先上个锁 @@ -540,7 +540,8 @@ public class PooledDataSource implements DataSource { state.activeConnections.remove(conn); // 如果该连接有效 if (conn.isValid()) { - // 如果连接池中的空闲连接数未达到阈值 且 该连接确实属于本连接池(通过之前获取的expectedConnectionTypeCode进行校验) + // 如果连接池中的空闲连接数未达到阈值 且 该连接确实属于 + // 本连接池(通过之前获取的 expectedConnectionTypeCode 进行校验) if (state.idleConnections.size() < poolMaximumIdleConnections && conn.getConnectionTypeCode() == expectedConnectionTypeCode) { // CheckoutTime = 应用从连接池取出连接到归还连接的时长 // accumulatedCheckoutTime = 所有连接累计的CheckoutTime @@ -549,14 +550,14 @@ public class PooledDataSource implements DataSource { if (!conn.getRealConnection().getAutoCommit()) { conn.getRealConnection().rollback(); } - // 从conn中取出真正的 数据库连接对象,重新封装成PooledConnection + // 从 conn 中取出真正的 数据库连接对象,重新封装成 PooledConnection PooledConnection newConn = new PooledConnection(conn.getRealConnection(), this); - // 将newConn放进空闲连接对象列表 + // 将 newConn 放进空闲连接对象列表 state.idleConnections.add(newConn); - // 设置newConn的相关属性 + // 设置 newConn 的相关属性 newConn.setCreatedTimestamp(conn.getCreatedTimestamp()); newConn.setLastUsedTimestamp(conn.getLastUsedTimestamp()); - // 将原本的conn作废 + // 将原本的 conn 作废 conn.invalidate(); if (log.isDebugEnabled()) { log.debug("Returned connection " + newConn.getRealHashCode() + " to pool."); @@ -565,7 +566,7 @@ public class PooledDataSource implements DataSource { state.notifyAll(); } else { // 如果空闲连接已达阈值 或 该连接对象不属于本连接池,则做好统计数据 - // 回滚连接的事务,关闭真正的连接,最后作废该conn + // 回滚连接的事务,关闭真正的连接,最后作废 该conn state.accumulatedCheckoutTime += conn.getCheckoutTime(); if (!conn.getRealConnection().getAutoCommit()) { conn.getRealConnection().rollback(); @@ -632,11 +633,11 @@ public class PooledDataSource implements DataSource { } } ``` -最后,我们来看一下popConnection()和pushConnection()都调用了的isValid()方法,该方法除了检测PooledConnection中的valid字段外 还还会调用PooledDataSource中的pingConnection()方法,让数据库连接对象 执行指定的sql语句,检测连接是否正常。 +最后,我们来看一下 popConnection() 和 pushConnection() 都调用了的 isValid()方法,该方法除了检测 PooledConnection 中的 valid字段 外 还还会调用 PooledDataSource 中的 pingConnection()方法,让数据库连接对象 执行指定的 sql语句,检测连接是否正常。 ```java class PooledConnection implements InvocationHandler { /** - * 检测PooledConnection对象的有效性 + * 检测 PooledConnection对象 的有效性 */ public boolean isValid() { return valid && realConnection != null && dataSource.pingConnection(this); @@ -646,7 +647,7 @@ class PooledConnection implements InvocationHandler { public class PooledDataSource implements DataSource { /** - * ping一下数据库,检测数据库连接是否正常 + * ping 一下数据库,检测数据库连接是否正常 */ protected boolean pingConnection(PooledConnection conn) { boolean result = true; @@ -661,10 +662,10 @@ public class PooledDataSource implements DataSource { } if (result) { - // 是否允许发送检测语句,检测数据库连接是否正常,poolPingEnabled可自行配置 + // 是否允许发送检测语句,检测数据库连接是否正常,poolPingEnabled 可自行配置 // 该检测会牺牲一定的系统资源,以提高安全性 if (poolPingEnabled) { - // 超过poolPingConnectionsNotUsedFor毫秒未使用的连接 才会检测其连接状态 + // 超过 poolPingConnectionsNotUsedFor毫秒 未使用的连接 才会检测其连接状态 if (poolPingConnectionsNotUsedFor >= 0 && conn.getTimeElapsedSinceLastUse() > poolPingConnectionsNotUsedFor) { try { if (log.isDebugEnabled()) { @@ -703,8 +704,8 @@ public class PooledDataSource implements DataSource { } ``` ## 2 Transaction -遵循接口-实现类的设计原则,mybatis也是先使用Transaction接口对数据库事务做了抽象,而实现类则只提供了两个,即:JdbcTransaction和ManagedTransaction。这两种对象的获取,使用了两个对应的工厂类JdbcTransactionFactory和ManagedTransactionFactory。 -不过一般我们并不会使用mybatis管理事务,而是将mybatis集成到spring,由spring进行事务的管理。细节部分会在后面的文章中详细讲解。 +遵循 “接口-实现类” 的设计原则,Mybatis 也是先使用 Transaction接口 对数据库事务做了抽象,而实现类则只提供了两个,即:JdbcTransaction 和 ManagedTransaction。这两种对象的获取,使用了两个对应的工厂类 JdbcTransactionFactory 和 ManagedTransactionFactory。 +不过一般我们并不会使用 Mybatis 管理事务,而是将 Mybatis 集成到 Spring,由 Spring 进行事务的管理。细节部分会在后面的文章中详细讲解。 ```java public interface Transaction { @@ -765,7 +766,7 @@ public class JdbcTransaction implements Transaction { return connection; } - // 提交、回滚、关闭等操作的代码都比较简单,只对原生的JDBC操作做了简单封装 + // 提交、回滚、关闭等操作的代码都比较简单,只对原生的 JDBC操作 做了简单封装 @Override public void commit() throws SQLException { if (connection != null && !connection.getAutoCommit()) { @@ -863,10 +864,10 @@ public class ManagedTransaction implements Transaction { private TransactionIsolationLevel level; // 对应的数据库连接 private Connection connection; - // 控制是否关闭持有的连接,在close()方法中用其判断是否真的关闭连接 + // 控制是否关闭持有的连接,在 close()方法 中用其判断是否真的关闭连接 private final boolean closeConnection; - // 本类的实现也很简单,commit、rollback方法都是空实现 + // 本类的实现也很简单,commit()、rollback()方法 都是空实现 public ManagedTransaction(Connection connection, boolean closeConnection) { this.connection = connection; this.closeConnection = closeConnection; @@ -926,7 +927,7 @@ public class ManagedTransaction implements Transaction { public interface TransactionFactory { /** - * 配置TransactionFactory对象,一般会在完成TransactionFactory对象 + * 配置 TransactionFactory对象,一般会在完成 TransactionFactory对象 * 初始化之后 就进行自定义属性配置 */ default void setProperties(Properties props) { @@ -934,12 +935,12 @@ public interface TransactionFactory { } /** - * 在指定的数据库连接上创建Transaction事务对象 + * 在指定的数据库连接上创建 Transaction事务对象 */ Transaction newTransaction(Connection conn); /** - * 从指定数据源获取数据库连接,并在此连接上创建Transaction对象 + * 从指定数据源获取数据库连接,并在此连接上创建 Transaction对象 */ Transaction newTransaction(DataSource dataSource, TransactionIsolationLevel level, boolean autoCommit); } diff --git a/docs/Mybatis/基础支持层/3、binding模块.md b/docs/Mybatis/基础支持层/3、binding模块.md index 18b2518..11b01a0 100644 --- a/docs/Mybatis/基础支持层/3、binding模块.md +++ b/docs/Mybatis/基础支持层/3、binding模块.md @@ -1,29 +1,30 @@ -binding模块主要为了解决一个历史遗留问题,原先查询一个VO对象时需要调用SqlSession.queryForObject(“selectXXVOById”, primaryKey)方法,执行指定的sql语句,第一个参数selectXXVOById指定了执行的sql语句id,如果我们不小心写错了参数,mybatis是无法在初始化时发现这个错误的,只会在实际调用queryForObject(“selectXXVOById”, primaryKey)方法时才会抛出异常,这对于工程师来说是非常难受的,就像泛型出来之前,很多类型转换不会在编译期发现错误一样。而binding模块就像Java的泛型机制一样,将程序的错误提前暴露出来,为开发人员省去不少排查问题的精力。 +binding模块 主要为了解决一个历史遗留问题,原先查询一个 VO对象 时需要调用 SqlSession.queryForObject(“selectXXVOById”, primaryKey)方法,执行指定的 sql语句,第一个参数 selectXXVOById 指定了执行的 sql语句id,如果我们不小心写错了参数,Mybatis 是无法在初始化时发现这个错误的,只会在实际调用 queryForObject(“selectXXVOById”, primaryKey)方法 时才会抛出异常,这对于工程师来说是非常难受的,就像泛型出来之前,很多类型转换不会在编译期发现错误一样。而 binding模块 就像 Java的泛型机制 一样,将程序的错误提前暴露出来,为开发人员省去不少排查问题的精力。 -binding模块的解决方案是,定义一个Mapper接口,在接口中定义sql语句对应的方法名(Id)及参数,这些方法在mybatis的初始化过程中,会与该Mapper接口对应的映射配置文件中的sql语句相关联,如果存在无法关联的sql语句,mybatis就会抛出异常,帮助我们及时发现问题。示例代码如下: +binding模块 的解决方案是,定义一个 Mapper接口,在接口中定义 sql语句 对应的 方法名Id 及 参数,这些方法在 Mybatis 的初始化过程中,会与该 Mapper接口 对应的映射配置文件中的 sql语句 相关联,如果存在无法关联的 sql语句,Mybatis 就会抛出异常,帮助我们及时发现问题。示例代码如下: ```java public interface HeroMapper { - // 映射文件中会存在一个节点,id 为 “selectHeroVOById” + public HeroVO selectHeroVOById(int id); } -// 首先,获取HeroMapper对应的代理对象 +// 首先,获取 HeroMapper 对应的代理对象 HeroMapper heroMapper = session.getMapper(HeroMapper.class); -// 直接调用HeroMapper接口中的方法 获取结果集 +// 直接调用 HeroMapper接口 中的方法,获取结果集 HeroVO heroVO = heroMapper.selectHeroVOById("23333"); ``` ## 1 MapperRegistry和MapperProxyFactory -MapperRegistry是Mapper接口及其对应的代理对象工厂的注册中心。Configuration是mybatis中全局性的配置对象,根据mybatis的核心配置文件mybatis-config.xml解析而成。Configuration通过mapperRegistry属性持有该对象。 -mybatis在初始化过程中会读取映射配置文件和Mapper接口中的注解信息,并调用MapperRegistry的addMappers()方法填充knownMappers集合,在需要执行某sql语句时,会先调用getMapper()方法获取实现了Mapper接口的动态代理对象。 +MapperRegistry 是 Mapper接口 及其对应的代理对象工厂的注册中心。Configuration 是 Mybatis 中全局性的配置对象,根据 Mybatis 的核心配置文件 mybatis-config.xml 解析而成。Configuration 通过 mapperRegistry属性 持有该对象。 + +Mybatis 在初始化过程中会读取映射配置文件和 Mapper接口 中的注解信息,并调用 MapperRegistry 的 addMappers()方法 填充 knownMappers集合,在需要执行某 sql语句 时,会先调用 getMapper()方法 获取实现了 Mapper接口 的动态代理对象。 ```java public class MapperRegistry { - // mybatis全局唯一的配置对象,包含了几乎所有配置信息 + // Mybatis 全局唯一的配置对象,包含了几乎所有配置信息 private final Configuration config; - // key:Mapper接口,value:MapperProxyFactory为Mapper接口创建代理对象的工厂 + // key:Mapper接口,value:MapperProxyFactory 为 Mapper接口 创建代理对象的工厂 private final Map, MapperProxyFactory> knownMappers = new HashMap<>(); - // 下面的两个重载方法 通过扫描指定的包目录,获取所有的Mapper接口 + // 下面的两个重载方法 通过扫描指定的包目录,获取所有的 Mapper接口 public void addMappers(String packageName) { addMappers(packageName, Object.class); } @@ -38,7 +39,7 @@ public class MapperRegistry { } public void addMapper(Class type) { - // 该type是不是接口 + // 该 type 是不是接口 if (type.isInterface()) { // 是否已经加载过 if (hasMapper(type)) { @@ -46,9 +47,9 @@ public class MapperRegistry { } boolean loadCompleted = false; try { - // 将Mapper接口的Class对象 和 对应的MapperProxyFactory对象添加到knownMappers集合 + // 将 Mapper接口 的 Class对象 和 对应的 MapperProxyFactory对象 添加到 knownMappers集合 knownMappers.put(type, new MapperProxyFactory<>(type)); - // XML解析和注解的处理 + // XML 解析和注解的处理 MapperAnnotationBuilder parser = new MapperAnnotationBuilder(config, type); parser.parse(); loadCompleted = true; @@ -62,45 +63,45 @@ public class MapperRegistry { @SuppressWarnings("unchecked") public T getMapper(Class type, SqlSession sqlSession) { - // 获取type对应的MapperProxyFactory对象 + // 获取 type 对应的 MapperProxyFactory对象 final MapperProxyFactory mapperProxyFactory = (MapperProxyFactory) knownMappers.get(type); if (mapperProxyFactory == null) { throw new BindingException("Type " + type + " is not known to the MapperRegistry."); } try { - // 根据sqlSession创建 type接口的代理对象 + // 根据 sqlSession 创建 type接口 的代理对象 return mapperProxyFactory.newInstance(sqlSession); } catch (Exception e) { throw new BindingException("Error getting mapper instance. Cause: " + e, e); } } - // 获取所有的MapperProxyFactory + // 获取所有的 MapperProxyFactory public Collection> getMappers() { return Collections.unmodifiableCollection(knownMappers.keySet()); } - // 初始化的时候会持有Configuration对象 + // 初始化的时候会持有 Configuration对象 public MapperRegistry(Configuration config) { this.config = config; } - // 是否存在指定的MapperProxyFactory + // 是否存在指定的 MapperProxyFactory public boolean hasMapper(Class type) { return knownMappers.containsKey(type); } } ``` -MapperProxyFactory主要负责创建代理对象。 +MapperProxyFactory 主要负责创建代理对象。 ```java public class MapperProxyFactory { // 要创建的动态代理对象 所实现的接口 private final Class mapperInterface; - // 缓存mapperInterface接口中Method对象和其对应的MapperMethod对象 + // 缓存 mapperInterface接口 中 Method对象 和其对应的 MapperMethod对象 private final Map methodCache = new ConcurrentHashMap<>(); - // 初始化时为mapperInterface注入值 + // 初始化时为 mapperInterface 注入值 public MapperProxyFactory(Class mapperInterface) { this.mapperInterface = mapperInterface; } @@ -114,15 +115,15 @@ public class MapperProxyFactory { } public T newInstance(SqlSession sqlSession) { - // 每都会创建一个新的MapperProxy对象 + // 每次都会创建一个新的 MapperProxy对象 final MapperProxy mapperProxy = new MapperProxy<>(sqlSession, mapperInterface, methodCache); return newInstance(mapperProxy); } /** - * 非常眼熟的JDK动态代理 代码,创建了实现mapperInterface接口的代理对象 - * 根据国际惯例,mapperProxy对应的类 肯定实现了InvocationHandler接口, - * 为mapperInterface接口方法的调用织入统一处理逻辑 + * 非常眼熟的 JDK动态代理 代码,创建了实现 mapperInterface接口 的代理对象 + * 根据国际惯例,mapperProxy对应的类 肯定实现了 InvocationHandler接口, + * 为 mapperInterface接口方法的调用 织入统一处理逻辑 */ protected T newInstance(MapperProxy mapperProxy) { return (T) Proxy.newProxyInstance(mapperInterface.getClassLoader(), new Class[] { mapperInterface }, mapperProxy); @@ -130,17 +131,17 @@ public class MapperProxyFactory { } ``` ## 2 MapperProxy -MapperProxy实现了InvocationHandler接口,为Mapper接口的方法调用织入了统一处理。 +MapperProxy 实现了 InvocationHandler接口,为 Mapper接口 的方法调用织入了统一处理。 ```java public class MapperProxy implements InvocationHandler, Serializable { private static final long serialVersionUID = -6424540398559729838L; - // 记录关联的sqlSession对象 + // 记录关联的 sqlSession对象 private final SqlSession sqlSession; - // 对应的Mapper接口的Class对象 + // 对应的 Mapper接口 的 Class对象 private final Class mapperInterface; - // 用于缓存MapperMethod对象,key:Mapper接口中方法对应的Method对象, - // value:MapperMethod对象(该对象会完成参数转换 及 sql语句的执行功能) + // 用于缓存 MapperMethod对象,key:Mapper接口 中方法对应的 Method对象, + // value:MapperMethod对象(该对象会完成参数转换 及 sql语句 的执行功能) private final Map methodCache; public MapperProxy(SqlSession sqlSession, Class mapperInterface, Map methodCache) { @@ -152,7 +153,7 @@ public class MapperProxy implements InvocationHandler, Serializable { // 为被代理对象的方法 织入统一处理 public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { try { - // 如果目标方法继承自Object,则直接调用目标方法 + // 如果目标方法继承自 Object,则直接调用目标方法 if (Object.class.equals(method.getDeclaringClass())) { return method.invoke(this, args); } else if (method.isDefault()) { @@ -161,30 +162,31 @@ public class MapperProxy implements InvocationHandler, Serializable { } catch (Throwable t) { throw ExceptionUtil.unwrapThrowable(t); } - // 从缓存中获取mapperMethod对象,如果没有就创建新的 + // 从缓存中获取 mapperMethod对象,如果没有就创建新的 final MapperMethod mapperMethod = cachedMapperMethod(method); - // 执行sql语句,返回结果集 + // 执行 sql语句,返回结果集 return mapperMethod.execute(sqlSession, args); } - // 主要负责维护methodCache 缓存 + // 主要负责维护 methodCache 缓存 private MapperMethod cachedMapperMethod(Method method) { - // 这里用到了Java8的新特性,computeIfAbsent()是Java8的新方法,Lambda表达式也是Java8中最重要的新特性之一 - // computeIfAbsent()方法表示 当前map中,若key对应的value为空,则执行传入的Lambda表达式,将key和表达式的value - // 存入当前map,并返回value值 - // 在这段代码中的意思是:若methodCache中没有method对应的value,就执行右侧的Lambda表达式,并将表达式的结果 - // 存入methodCache 并 返回 + // 这里用到了 Java8 的新特性,computeIfAbsent() 是 Java8 新增的方法,Lambda表达式 也是 Java8中 最重要的新特性之一 + // computeIfAbsent()方法 表示 当前map中,若 key 对应的 value 为空,则执行传入的 Lambda表达式,将 key 和表达式的 value + // 存入 当前map,并返回 value值 + // 在这段代码中的意思是:若 methodCache 中没有 method 对应的 value,就执行右侧的 Lambda表达式,并将表达式的结果 + // 存入 methodCache 并返回 return methodCache.computeIfAbsent(method, k -> new MapperMethod(mapperInterface, method, sqlSession.getConfiguration())); } } ``` ## 3 MapperMethod -MapperMethod中封装了Mapper接口中对应方法的信息,和对应sql语句的信息,是连接Mapper接口及映射配置文件中定义的sql语句的桥梁。 -MapperMethod中持有两个非常重要的属性,这两个属性对应的类 都是MapperMethod中的静态内部类。另外,MapperMethod在被实例化时就对这两个属性进行了初始化。 +MapperMethod 中封装了 Mapper接口 中对应方法的信息,和对应 sql语句 的信息,是连接 Mapper接口 及映射配置文件中定义的 sql语句 的桥梁。 + +MapperMethod 中持有两个非常重要的属性,这两个属性对应的类 都是 MapperMethod 中的静态内部类。另外,MapperMethod 在被实例化时就对这两个属性进行了初始化。 ```java public class MapperMethod { - /** 下面这俩货都是内部类,而且还是public static的 */ + /** 下面这俩货都是内部类,而且还是 public static 的 */ private final SqlCommand command; private final MethodSignature method; @@ -194,25 +196,25 @@ public class MapperMethod { } } ``` -MapperMethod中的核心方法execute()就主要用到了这两个类,所以我们先看一下SqlCommand和MethodSignature的源码。 +MapperMethod 中的核心方法 execute() 就主要用到了这两个类,所以我们先看一下 SqlCommand 和 MethodSignature 的源码。 ### 3.1 SqlCommand ```java public static class SqlCommand { // sql语句的id private final String name; - // sql语句的类型,SqlCommandType是枚举类型,持有常用的 增、删、改、查等操作类型 + // sql语句的类型,SqlCommandType 是枚举类型,持有常用的 增、删、改、查等操作类型 private final SqlCommandType type; public SqlCommand(Configuration configuration, Class mapperInterface, Method method) { // 方法名 final String methodName = method.getName(); - // 该方法对应的类的Class对象 + // 该方法对应的类的 Class对象 final Class declaringClass = method.getDeclaringClass(); - // MappedStatement封装了sql语句相关的信息,在mybatis初始化时创建 + // MappedStatement 封装了 sql语句 相关的信息,在 Mybatis初始化 时创建 MappedStatement ms = resolveMappedStatement(mapperInterface, methodName, declaringClass, configuration); if (ms == null) { - // 处理Flush注解 + // 处理 Flush注解 if (method.getAnnotation(Flush.class) != null) { name = null; type = SqlCommandType.FLUSH; @@ -221,7 +223,7 @@ MapperMethod中的核心方法execute()就主要用到了这两个类,所以 + mapperInterface.getName() + "." + methodName); } } else { - // 初始化name 和 type + // 初始化 name 和 type name = ms.getId(); type = ms.getSqlCommandType(); if (type == SqlCommandType.UNKNOWN) { @@ -232,17 +234,17 @@ MapperMethod中的核心方法execute()就主要用到了这两个类,所以 private MappedStatement resolveMappedStatement(Class mapperInterface, String methodName, Class declaringClass, Configuration configuration) { - // sql语句的名称默认是由Mapper接口方法的 包名.类名.方法名 + // sql语句 的名称默认是由 Mapper接口方法 的 包名.类名.方法名 String statementId = mapperInterface.getName() + "." + methodName; - // 检测是否有该名称的sql语句 + // 检测是否有该名称的 sql语句 if (configuration.hasStatement(statementId)) { - // 从configuration的mappedStatements容器中获取statementId对应的MappedStatement对象 + // 从 configuration 的 mappedStatements容器 中获取 statementId 对应的 MappedStatement对象 return configuration.getMappedStatement(statementId); - // 如果此方法不是mapperInterface接口定义的,则返回空 + // 如果此方法不是 mapperInterface接口 定义的,则返回空 } else if (mapperInterface.equals(declaringClass)) { return null; } - // 对mapperInterface的父接口 进行递归处理 + // 对 mapperInterface 的父接口 进行递归处理 for (Class superInterface : mapperInterface.getInterfaces()) { if (declaringClass.isAssignableFrom(superInterface)) { MappedStatement ms = resolveMappedStatement(superInterface, methodName, @@ -272,33 +274,33 @@ MapperMethod中的核心方法execute()就主要用到了这两个类,所以 private final boolean returnsMany; // 返回值类型是否为 Map类型 private final boolean returnsMap; - // 返回值类型是否为void + // 返回值类型是否为 void private final boolean returnsVoid; - // 返回值类型是否为Cursor + // 返回值类型是否为 Cursor private final boolean returnsCursor; - // 返回值类型是否为Optional + // 返回值类型是否为 Optional private final boolean returnsOptional; - // 返回值类型的Class对象 + // 返回值类型的 Class对象 private final Class returnType; - // 如果返回值类型为Map,则用该字段记录了作为key的列名 + // 如果返回值类型为 Map,则用该字段记录了作为 key 的列名 private final String mapKey; - // 标记该方法参数列表中ResultHandler类型参数的位置 + // 标记该方法参数列表中 ResultHandler类型参数 的位置 private final Integer resultHandlerIndex; - // 标记该方法参数列表中RowBounds类型参数的位置 + // 标记该方法参数列表中 RowBounds类型参数 的位置 private final Integer rowBoundsIndex; /** - * 顾名思义,这是一个处理Mapper接口中 方法参数列表的解析器,它使用了一个SortedMap - * 类型的容器 记录了参数在参数列表中的位置索引 与 参数名之间的对应关系,key参数在参数列表中的索引位置, + * 顾名思义,这是一个处理 Mapper接口 中 方法参数列表的解析器,它使用了一个 SortedMap + * 类型的容器,记录了参数在参数列表中的位置索引 与 参数名之间的对应关系,key参数 在参数列表中的索引位置, * value参数名(参数名可用@Param注解指定,默认使用参数索引作为其名称) */ private final ParamNameResolver paramNameResolver; /** - * MethodSignature的构造方法会解析对应的method,并初始化上述字段 + * MethodSignature 的构造方法会解析对应的 method,并初始化上述字段 */ public MethodSignature(Configuration configuration, Class mapperInterface, Method method) { - // 获取method方法的返回值类型 + // 获取 method方法 的返回值类型 Type resolvedReturnType = TypeParameterResolver.resolveReturnType(method, mapperInterface); if (resolvedReturnType instanceof Class) { this.returnType = (Class) resolvedReturnType; @@ -307,7 +309,7 @@ MapperMethod中的核心方法execute()就主要用到了这两个类,所以 } else { this.returnType = method.getReturnType(); } - // 对MethodSignature持有的各属性 进行初始化 + // 对 MethodSignature 持有的各属性 进行初始化 this.returnsVoid = void.class.equals(this.returnType); this.returnsMany = configuration.getObjectFactory().isCollection(this.returnType) || this.returnType.isArray(); this.returnsCursor = Cursor.class.equals(this.returnType); @@ -340,18 +342,18 @@ MapperMethod中的核心方法execute()就主要用到了这两个类,所以 } ``` ### 3.3 execute()方法 -execute()方法会根据sql语句的类型(CRUD)调用SqlSession对应的方法完成数据库操作,SqlSession是mybatis的核心组件之一,后面会详细解读。 +execute()方法 会根据 sql语句 的类型(CRUD)调用 SqlSession 对应的方法完成数据库操作,SqlSession 是 Mybatis 的核心组件之一,后面会详细解读。 ```java public class MapperMethod { public Object execute(SqlSession sqlSession, Object[] args) { Object result; - // 根据sql语句的类型 调用sqlSession对应的方法 + // 根据 sql语句 的类型 调用 sqlSession 对应的方法 switch (command.getType()) { case INSERT: { - // 使用ParamNameResolver处理args实参列表,将用户传入的实参与 + // 使用 ParamNameResolver 处理 args实参列表,将用户传入的实参与 // 指定参数名称关联起来 Object param = method.convertArgsToSqlCommandParam(args); - // 获取返回结果,rowCountResult()方法会 根据method属性中的returnType, + // 获取返回结果,rowCountResult()方法 会根据 method属性 中的 returnType, // 对结果的类型进行转换 result = rowCountResult(sqlSession.insert(command.getName(), param)); break; @@ -367,24 +369,24 @@ public class MapperMethod { break; } case SELECT: - // 处理返回值为void且ResultSet通过ResultHandler处理的方法 + // 处理返回值为 void 且 ResultSet 通过 ResultHandler 处理的方法 if (method.returnsVoid() && method.hasResultHandler()) { executeWithResultHandler(sqlSession, args); result = null; // 处理返回值为集合 或 数组的方法 } else if (method.returnsMany()) { result = executeForMany(sqlSession, args); - // 处理返回值为Map的方法 + // 处理返回值为 Map 的方法 } else if (method.returnsMap()) { result = executeForMap(sqlSession, args); - // 处理返回值为Cursor的方法 + // 处理返回值为 Cursor 的方法 } else if (method.returnsCursor()) { result = executeForCursor(sqlSession, args); } else { // 处理返回值为单一对象的方法 Object param = method.convertArgsToSqlCommandParam(args); result = sqlSession.selectOne(command.getName(), param); - // 处理返回值为Optional的方法 + // 处理返回值为 Optional 的方法 if (method.returnsOptional() && (result == null || !method.getReturnType().equals(result.getClass()))) { result = Optional.ofNullable(result); @@ -405,20 +407,20 @@ public class MapperMethod { } /** - * 当执行insert、update、delete类型的sql语句时,其执行结果都要经过本方法处理 + * 当执行 insert、update、delete 类型的 sql语句 时,其执行结果都要经过本方法处理 */ private Object rowCountResult(int rowCount) { final Object result; - // 方法的返回值为void时 + // 方法的返回值为 void 时 if (method.returnsVoid()) { result = null; - // 方法的返回值为Integer时 + // 方法的返回值为 Integer 时 } else if (Integer.class.equals(method.getReturnType()) || Integer.TYPE.equals(method.getReturnType())) { result = rowCount; - // 方法的返回值为Long时 + // 方法的返回值为 Long 时 } else if (Long.class.equals(method.getReturnType()) || Long.TYPE.equals(method.getReturnType())) { result = (long)rowCount; - // 方法的返回值为Boolean时 + // 方法的返回值为 Boolean 时 } else if (Boolean.class.equals(method.getReturnType()) || Boolean.TYPE.equals(method.getReturnType())) { result = rowCount > 0; } else { @@ -428,12 +430,12 @@ public class MapperMethod { } /** - * 如果Mapper接口中定义的方法准备使用ResultHandler处理查询结果集,则通过此方法处理 + * 如果 Mapper接口 中定义的方法准备使用 ResultHandler 处理查询结果集,则通过此方法处理 */ private void executeWithResultHandler(SqlSession sqlSession, Object[] args) { - // 获取sql语句对应的MappedStatement对象,该对象中记录了sql语句相关信息 + // 获取 sql语句 对应的 MappedStatement对象,该对象中记录了 sql语句 相关信息 MappedStatement ms = sqlSession.getConfiguration().getMappedStatement(command.getName()); - // 当使用ResultHandler处理结果集时,必须指定ResultMap或ResultType + // 当使用 ResultHandler 处理结果集时,必须指定 ResultMap 或 ResultType if (!StatementType.CALLABLE.equals(ms.getStatementType()) && void.class.equals(ms.getResultMaps().get(0).getType())) { throw new BindingException("method " + command.getName() @@ -442,11 +444,11 @@ public class MapperMethod { } // 转换实参列表 Object param = method.convertArgsToSqlCommandParam(args); - // 如果实参列表中有RowBounds类型参数 + // 如果实参列表中有 RowBounds类型参数 if (method.hasRowBounds()) { - // 从args参数列表中获取RowBounds对象 + // 从 args参数列表 中获取 RowBounds对象 RowBounds rowBounds = method.extractRowBounds(args); - // 执行查询,并用指定的ResultHandler处理结果对象 + // 执行查询,并用指定的 ResultHandler 处理结果对象 sqlSession.select(command.getName(), param, rowBounds, method.extractResultHandler(args)); } else { sqlSession.select(command.getName(), param, method.extractResultHandler(args)); @@ -454,22 +456,22 @@ public class MapperMethod { } /** - * 如果Mapper接口中对应方法的返回值为集合(Collection接口实现类) 或 数组, + * 如果 Mapper接口 中对应方法的返回值为集合(Collection接口实现类) 或 数组, * 则调用本方法将结果集处理成 相应的集合或数组 */ private Object executeForMany(SqlSession sqlSession, Object[] args) { List result; // 参数列表转换 Object param = method.convertArgsToSqlCommandParam(args); - // 参数列表中是否有RowBounds类型的参数 + // 参数列表中是否有 RowBounds类型的参数 if (method.hasRowBounds()) { RowBounds rowBounds = method.extractRowBounds(args); - // 这里使用了selectList()方法进行查询,所以返回的结果集就是List类型的 + // 这里使用了 selectList()方法 进行查询,所以返回的结果集就是 List类型的 result = sqlSession.selectList(command.getName(), param, rowBounds); } else { result = sqlSession.selectList(command.getName(), param); } - // 将结果集转换为数组或Collection集合 + // 将结果集转换为数组或 Collection集合 if (!method.getReturnType().isAssignableFrom(result.getClass())) { if (method.getReturnType().isArray()) { return convertToArray(result); @@ -481,27 +483,27 @@ public class MapperMethod { } /** - * 将结果集转换成Collection集合 + * 将结果集转换成 Collection集合 */ private Object convertToDeclaredCollection(Configuration config, List list) { - // 使用前面介绍的ObjectFactory,通过反射方式创建集合对象 + // 使用前面介绍的 ObjectFactory,通过反射方式创建集合对象 Object collection = config.getObjectFactory().create(method.getReturnType()); MetaObject metaObject = config.newMetaObject(collection); - // 实际上就是调用了Collection的addAll()方法 + // 实际上就是调用了 Collection 的 addAll()方法 metaObject.addAll(list); return collection; } /** - * 本方法和上面的convertToDeclaredCollection()功能类似,主要负责将结果对象转换成数组 + * 本方法和上面的 convertToDeclaredCollection()功能 类似,主要负责将结果对象转换成数组 */ @SuppressWarnings("unchecked") private Object convertToArray(List list) { - // 获取数组中元素的类型Class + // 获取数组中元素的 类型Class Class arrayComponentType = method.getReturnType().getComponentType(); // 根据元素类型 和 元素数量 初始化数组 Object array = Array.newInstance(arrayComponentType, list.size()); - // 将List转换成数组 + // 将 List 转换成数组 if (arrayComponentType.isPrimitive()) { for (int i = 0; i < list.size(); i++) { Array.set(array, i, list.get(i)); @@ -513,7 +515,7 @@ public class MapperMethod { } /** - * 如果Mapper接口中对应方法的返回值为类型为Map,则调用此方法执行sql语句 + * 如果 Mapper接口 中对应方法的返回值为类型为 Map,则调用此方法执行 sql语句 */ private Map executeForMap(SqlSession sqlSession, Object[] args) { Map result; @@ -521,7 +523,7 @@ public class MapperMethod { Object param = method.convertArgsToSqlCommandParam(args); if (method.hasRowBounds()) { RowBounds rowBounds = method.extractRowBounds(args); - // 注意这里调用的是sqlSession的selectMap方法,使用返回的是一个Map类型结果集 + // 注意这里调用的是 SqlSession 的 selectMap()方法,返回的是一个 Map类型结果集 result = sqlSession.selectMap(command.getName(), param, method.getMapKey(), rowBounds); } else { result = sqlSession.selectMap(command.getName(), param, method.getMapKey()); @@ -530,7 +532,7 @@ public class MapperMethod { } /** - * 本方法与上面的executeForMap()方法类似,只不过sqlSession调用的是selectCursor() + * 本方法与上面的 executeForMap()方法 类似,只不过 sqlSession 调用的是 selectCursor() */ private Cursor executeForCursor(SqlSession sqlSession, Object[] args) { Cursor result; @@ -544,4 +546,4 @@ public class MapperMethod { return result; } } -``` +``` \ No newline at end of file diff --git a/docs/Mybatis/基础支持层/4、缓存模块.md b/docs/Mybatis/基础支持层/4、缓存模块.md index b5375b9..c997281 100644 --- a/docs/Mybatis/基础支持层/4、缓存模块.md +++ b/docs/Mybatis/基础支持层/4、缓存模块.md @@ -1,21 +1,21 @@ -MyBatis中的缓存分为一级缓存、二级缓存,但在本质上是相同的,它们使用的都是Cache接口的实现。MyBatis缓存模块的设计 使用了装饰器模式,这里不对此进行过多解析,以后会专门开一篇博文分析常用框架中使用到的设计模式。 +MyBatis 中的缓存分为一级缓存、二级缓存,但在本质上是相同的,它们使用的都是 Cache接口 的实现。MyBatis缓存模块 的设计,使用了装饰器模式,这里不对此进行过多解析,以后会专门开一篇博文分析常用框架中使用到的设计模式。 ## 1 Cache组件 -MyBatis中缓存模块相关的代码位于org.apache.ibatis.cache包下,其中Cache接口是缓存模块中最核心的接口,它定义了所有缓存的基本行为。 +MyBatis 中缓存模块相关的代码位于 org.apache.ibatis.cache包 下,其中 Cache接口 是缓存模块中最核心的接口,它定义了所有缓存的基本行为。 ```java public interface Cache { /** - * 获取当前缓存的Id + * 获取当前缓存的 Id */ String getId(); /** - * 存入缓存的key和value,key一般为CacheKey对象 + * 存入缓存的 key 和 value,key 一般为 CacheKey对象 */ void putObject(Object key, Object value); /** - * 根据key获取缓存值 + * 根据 key 获取缓存值 */ Object getObject(Object key); @@ -37,7 +37,7 @@ public interface Cache { /** * !!!!!!!!!!!!!!!!!!!!!!!!!! * 获取读写锁,可以看到,这个接口方法提供了默认的实现!! - * 这是Java8的新特性!!只是平时开发时很少用到!!! + * 这是 Java8 的新特性!!只是平时开发时很少用到!!! * !!!!!!!!!!!!!!!!!!!!!!!!!! */ default ReadWriteLock getReadWriteLock() { @@ -45,18 +45,19 @@ public interface Cache { } } ``` -如下图所示,Cache接口的实现类有很多,但大部分都是装饰器,只有PerpetualCache提供了Cache 接口的基本实现。 +如下图所示,Cache接口 的实现类有很多,但大部分都是装饰器,只有 PerpetualCache 提供了 Cache 接口 的基本实现。 ![avatar](/images/mybatis/Cache组件.png) + ### 1.1 PerpetualCache -PerpetualCache(Perpetual:永恒的,持续的)在缓存模块中扮演着被装饰的角色,其实现比较简单,底层使用HashMap记录缓存项,也是通过该HashMap对象的方法实现的Cache接口中定义的相应方法。 +PerpetualCache(Perpetual:永恒的,持续的)在缓存模块中扮演着被装饰的角色,其实现比较简单,底层使用 HashMap 记录缓存项,也是通过该 HashMap对象 的方法实现的 Cache接口 中定义的相应方法。 ```java public class PerpetualCache implements Cache { - // Cache对象的唯一标识 + // Cache对象 的唯一标识 private final String id; - // 其所有的缓存功能实现,都是基于JDK的HashMap提供的方法 + // 其所有的缓存功能实现,都是基于 JDK 的 HashMap 提供的方法 private Map cache = new HashMap<>(); public PerpetualCache(String id) { @@ -94,7 +95,7 @@ public class PerpetualCache implements Cache { } /** - * 其重写了Object中的equals()和hashCode()方法,两者都只关心id字段 + * 其重写了 Object 中的 equals() 和 hashCode()方法,两者都只关心 id字段 */ @Override public boolean equals(Object o) { @@ -121,9 +122,9 @@ public class PerpetualCache implements Cache { } } ``` -下面来看一下cache.decorators包下提供的装饰器,它们都直接实现了Cache接口,扮演着装饰器的角色。这些装饰器会在PerpetualCache的基础上提供一些额外的功能,通过多个组合后满足一个特定的需求。 +下面来看一下 cache.decorators包 下提供的装饰器,它们都直接实现了 Cache接口,扮演着装饰器的角色。这些装饰器会在 PerpetualCache 的基础上提供一些额外的功能,通过多个组合后满足一个特定的需求。 ### 1.2 BlockingCache -BlockingCache是阻塞版本的缓存装饰器,它会保证只有一个线程到数据库中查找指定key对应的数据。 +BlockingCache 是阻塞版本的缓存装饰器,它会保证只有一个线程到数据库中查找指定 key 对应的数据。 ```java public class BlockingCache implements Cache { @@ -131,7 +132,7 @@ public class BlockingCache implements Cache { private long timeout; // 持有的被装饰者 private final Cache delegate; - // 每个key都有其对应的ReentrantLock锁对象 + // 每个 key 都有其对应的 ReentrantLock锁对象 private final ConcurrentHashMap locks; // 初始化 持有的持有的被装饰者 和 锁集合 @@ -141,11 +142,11 @@ public class BlockingCache implements Cache { } } ``` -假设线程A在BlockingCache中未查找到keyA对应的缓存项时,线程A会获取keyA对应的锁,这样后续线程A在查找keyA时,其它线程会被阻塞。 +假设 线程A 在 BlockingCache 中未查找到 keyA 对应的缓存项时,线程A 会获取 keyA 对应的锁,这样,线程A 在后续查找 keyA 时,其它线程会被阻塞。 ```java - // 根据key获取锁对象,然后上锁 + // 根据 key 获取锁对象,然后上锁 private void acquireLock(Object key) { - // 获取key对应的锁对象 + // 获取 key 对应的锁对象 Lock lock = getLockForKey(key); // 获取锁,带超时时长 if (timeout > 0) { @@ -165,18 +166,18 @@ public class BlockingCache implements Cache { } private ReentrantLock getLockForKey(Object key) { - // Java8新特性,Map系列类中新增的方法 + // Java8 新特性,Map系列类 中新增的方法 // V computeIfAbsent(K key, Function mappingFunction) - // 表示,若key对应的value为空,则将第二个参数的返回值存入该Map集合并返回 + // 表示,若 key 对应的 value 为空,则将第二个参数的返回值存入该 Map集合 并返回 return locks.computeIfAbsent(key, k -> new ReentrantLock()); } ``` -假设线程A从数据库中查找到keyA对应的结果对象后,将结果对象放入到BlockingCache中,此时线程A会释放keyA对应的锁,唤醒阻塞在该锁上的线程。其它线程即可从BlockingCache中获取keyA对应的数据,而不是再次访问数据库。 +假设 线程A 从数据库中查找到 keyA 对应的结果对象后,将结果对象放入到 BlockingCache 中,此时 线程A 会释放 keyA 对应的锁,唤醒阻塞在该锁上的线程。其它线程即可从 BlockingCache 中获取 keyA 对应的数据,而不是再次访问数据库。 ```java @Override public void putObject(Object key, Object value) { try { - // 存入key和其对应的缓存项 + // 存入 key 和其对应的缓存项 delegate.putObject(key, value); } finally { // 最后释放锁 @@ -194,18 +195,18 @@ public class BlockingCache implements Cache { } ``` ### 1.3 FifoCache和LruCache -在很多场景中,为了控制缓存的大小,系统需要按照一定的规则清理缓存。FifoCache是先入先出版本的装饰器,当向缓存添加数据时,如果缓存项的个数已经达到上限,则会将缓存中最老(即最早进入缓存)的缓存项删除。 +在很多场景中,为了控制缓存的大小,系统需要按照一定的规则清理缓存。FifoCache 是先入先出版本的装饰器,当向缓存添加数据时,如果缓存项的个数已经达到上限,则会将缓存中最老(即最早进入缓存)的缓存项删除。 ```java public class FifoCache implements Cache { // 被装饰对象 private final Cache delegate; - // 用一个FIFO的队列记录key的顺序,其具体实现为LinkedList + // 用一个 FIFO 的队列记录 key 的顺序,其具体实现为 LinkedList private final Deque keyList; // 决定了缓存的容量上限 private int size; - // 国际惯例,通过构造方法初始化自己的属性,缓存容量上限默认为1024个 + // 国际惯例,通过构造方法初始化自己的属性,缓存容量上限默认为 1024个 public FifoCache(Cache delegate) { this.delegate = delegate; this.keyList = new LinkedList<>(); @@ -228,16 +229,16 @@ public class FifoCache implements Cache { @Override public void putObject(Object key, Object value) { - // 存储缓存项之前,先在keyList中注册 + // 存储缓存项之前,先在 keyList 中注册 cycleKeyList(key); // 存储缓存项 delegate.putObject(key, value); } private void cycleKeyList(Object key) { - // 在keyList队列中注册要添加的key + // 在 keyList队列 中注册要添加的 key keyList.addLast(key); - // 如果注册这个key会超出容积上限,则把最老的一个缓存项清除掉 + // 如果注册这个 key 会超出容积上限,则把最老的一个缓存项清除掉 if (keyList.size() > size) { Object oldestKey = keyList.removeFirst(); delegate.removeObject(oldestKey); @@ -254,7 +255,7 @@ public class FifoCache implements Cache { return delegate.removeObject(key); } - // 除了清理缓存项,还要清理key的注册列表 + // 除了清理缓存项,还要清理 key 的注册列表 @Override public void clear() { delegate.clear(); @@ -263,36 +264,36 @@ public class FifoCache implements Cache { } ``` -LruCache是按照"近期最少使用算法"(Least Recently Used, LRU)进行缓存清理的装饰器,在需要清理缓存时,它会清除最近最少使用的缓存项。 +LruCache 是按照"近期最少使用算法"(Least Recently Used, LRU)进行缓存清理的装饰器,在需要清理缓存时,它会清除最近最少使用的缓存项。 ```java public class LruCache implements Cache { // 被装饰者 private final Cache delegate; - // 这里使用的是LinkedHashMap,它继承了HashMap,但它的元素是有序的 + // 这里使用的是 LinkedHashMap,它继承了 HashMap,但它的元素是有序的 private Map keyMap; - // 最近最少被使用的缓存项的key + // 最近最少被使用的缓存项的 key private Object eldestKey; // 国际惯例,构造方法中进行属性初始化 public LruCache(Cache delegate) { this.delegate = delegate; - // 这里初始化了keyMap,并定义了eldestKey的取值规则 + // 这里初始化了 keyMap,并定义了 eldestKey 的取值规则 setSize(1024); } public void setSize(final int size) { - // 初始化keyMap,同时指定该Map的初始容积及加载因子,第三个参数true表示该LinkedHashMap - // 记录的顺序是accessOrder,即,LinkedHashMap.get()方法会改变其中元素的顺序 + // 初始化 keyMap,同时指定该 Map 的初始容积及加载因子,第三个参数true 表示 该LinkedHashMap + // 记录的顺序是 accessOrder,即,LinkedHashMap.get()方法 会改变其中元素的顺序 keyMap = new LinkedHashMap(size, .75F, true) { private static final long serialVersionUID = 4267176411845948333L; - // 当调用LinkedHashMap.put()方法时,该方法会被调用 + // 当调用 LinkedHashMap.put()方法 时,该方法会被调用 @Override protected boolean removeEldestEntry(Map.Entry eldest) { boolean tooBig = size() > size; if (tooBig) { - // 当已达到缓存上限,更新eldestKey字段,后面将其删除 + // 当已达到缓存上限,更新 eldestKey字段,后面将其删除 eldestKey = eldest.getKey(); } return tooBig; @@ -304,13 +305,13 @@ public class LruCache implements Cache { @Override public void putObject(Object key, Object value) { delegate.putObject(key, value); - // 记录缓存项的key,超出容量则清除最久未使用的缓存项 + // 记录缓存项的 key,超出容量则清除最久未使用的缓存项 cycleKeyList(key); } private void cycleKeyList(Object key) { keyMap.put(key, key); - // eldestKey不为空,则表示已经达到缓存上限 + // eldestKey 不为空,则表示已经达到缓存上限 if (eldestKey != null) { // 清除最久未使用的缓存 delegate.removeObject(eldestKey); @@ -321,7 +322,7 @@ public class LruCache implements Cache { @Override public Object getObject(Object key) { - // 访问key元素 会改变该元素在LinkedHashMap中的顺序 + // 访问 key元素 会改变该元素在 LinkedHashMap 中的顺序 keyMap.get(key); //touch return delegate.getObject(key); } @@ -350,33 +351,33 @@ public class LruCache implements Cache { } ``` ### 1.4 SoftCache和WeakCache -在分析SoftCache和WeakCache实现之前,我们再温习一下Java提供的4种引用类型,强引用StrongReference、软引用SoftReference、弱引用WeakReference和虚引用PhantomReference。 +在分析 SoftCache 和 WeakCache 实现之前,我们再温习一下 Java 提供的4种引用类型,强引用StrongReference、软引用SoftReference、弱引用WeakReference和虚引用PhantomReference。 - 强引用 -平时用的最多的,如Object obj = new Object(),新建的Object对象就是被强引用的。如果一个对象被强引用,即使是JVM内存空间不足,要抛出OutOfMemoryError异常,GC也绝不会回收该对象。 +平时用的最多的,如 Object obj = new Object(),新建的 Object对象 就是被强引用的。如果一个对象被强引用,即使是 JVM内存空间不足,要抛出 OutOfMemoryError异常,GC 也绝不会回收该对象。 - 软引用 -仅次于强引用的一种引用,它使用类SoftReference来表示。当JVM内存不足时,GC会回收那些只被软引用指向的对象,从而避免内存溢出。软引用适合引用那些可以通过其他方式恢复的对象,例如, 数据库缓存中的对象就可以从数据库中恢复,所以软引用可以用来实现缓存,下面要介绍的SoftCache就是通过软引用实现的。 -另外,由于在程序使用软引用之前的某个时刻,其所指向的对象可能己经被GC回收掉了,所以通过 Reference.get()方法来获取软引用所指向的对象时,总是要通过检查该方法返回值是否为 null,来判断被软引用的对象是否还存活。 +仅次于强引用的一种引用,它使用类 SoftReference 来表示。当 JVM内存不足时,GC 会回收那些只被软引用指向的对象,从而避免内存溢出。软引用适合引用那些可以通过其他方式恢复的对象,例如, 数据库缓存中的对象就可以从数据库中恢复,所以软引用可以用来实现缓存,下面要介绍的 SoftCache 就是通过软引用实现的。 +另外,由于在程序使用软引用之前的某个时刻,其所指向的对象可能己经被 GC 回收掉了,所以通过 Reference.get()方法 来获取软引用所指向的对象时,总是要通过检查该方法返回值是否为 null,来判断被软引用的对象是否还存活。 - 弱引用 -弱引用使用WeakReference表示,它不会阻止所引用的对象被GC回收。在JVM进行垃圾回收时,如果指向一个对象的所有引用都是弱引用,那么该对象会被回收。 -所以,只被弱引用所指向的对象,其生存周期是两次GC之间的这段时间,而只被软引用所指向的对象可以经历多次GC,直到出现内存紧张的情况才被回收。 +弱引用使用 WeakReference表示,它不会阻止所引用的对象被 GC回收。在 JVM 进行垃圾回收时,如果指向一个对象的所有引用都是弱引用,那么该对象会被回收。 +所以,只被弱引用所指向的对象,其生存周期是 两次GC之间 的这段时间,而只被软引用所指向的对象可以经历多次 GC,直到出现内存紧张的情况才被回收。 - 虚引用 -最弱的一种引用类型,由类PhantomReference表示。虚引用可以用来实现比较精细的内存使用控制,但很少使用。 +最弱的一种引用类型,由类 PhantomReference 表示。虚引用可以用来实现比较精细的内存使用控制,但很少使用。 - 引用队列(ReferenceQueue ) -很多场景下,我们的程序需要在一个对象被GC时得到通知,引用队列就是用于收集这些信息的队列。在创建SoftReference对象时,可以为其关联一个引用队列,当SoftReference所引用的对象被GC时, JVM就会将该SoftReference对象添加到与之关联的引用队列中。当需要检测这些通知信息时,就可以从引用队列中获取这些SoftReference对象。不仅是SoftReference,弱引用和虚引用都可以关联相应的队列。 +很多场景下,我们的程序需要在一个对象被 GC 时得到通知,引用队列就是用于收集这些信息的队列。在创建 SoftReference对象 时,可以为其关联一个引用队列,当 SoftReference 所引用的对象被 GC 时, JVM 就会将该 SoftReference对象 添加到与之关联的引用队列中。当需要检测这些通知信息时,就可以从引用队列中获取这些 SoftReference对象。不仅是 SoftReference,弱引用和虚引用都可以关联相应的队列。 -现在来看一下SoftCache的具体实现。 +现在来看一下 SoftCache 的具体实现。 ```java public class SoftCache implements Cache { - // 这里使用了LinkedList作为容器,在SoftCache中,最近使用的一部分缓存项不会被GC - // 这是通过将其value添加到hardLinksToAvoidGarbageCollection集合实现的(即,有强引用指向其value) + // 这里使用了 LinkedList 作为容器,在 SoftCache 中,最近使用的一部分缓存项不会被 GC + // 这是通过将其 value 添加到 hardLinksToAvoidGarbageCollection集合 实现的(即,有强引用指向其value) private final Deque hardLinksToAvoidGarbageCollection; - // 引用队列,用于记录已经被GC的缓存项所对应的SoftEntry对象 + // 引用队列,用于记录已经被 GC 的缓存项所对应的 SoftEntry对象 private final ReferenceQueue queueOfGarbageCollectedEntries; // 持有的被装饰者 private final Cache delegate; - // 强连接的个数,默认为256 + // 强连接的个数,默认为 256 private int numberOfHardLinks; // 构造方法进行属性的初始化 @@ -391,7 +392,7 @@ public class SoftCache implements Cache { private final Object key; SoftEntry(Object key, Object value, ReferenceQueue garbageCollectionQueue) { - // 指向value的引用是软引用,并且关联了 引用队列 + // 指向 value 的引用是软引用,并且关联了 引用队列 super(value, garbageCollectionQueue); // 强引用 this.key = key; @@ -400,7 +401,7 @@ public class SoftCache implements Cache { @Override public void putObject(Object key, Object value) { - // 清除已经被GC的缓存项 + // 清除已经被 GC 的缓存项 removeGarbageCollectedItems(); // 添加缓存 delegate.putObject(key, new SoftEntry(key, value, queueOfGarbageCollectedEntries)); @@ -408,7 +409,7 @@ public class SoftCache implements Cache { private void removeGarbageCollectedItems() { SoftEntry sv; - // 遍历queueOfGarbageCollectedEntries集合,清除已经被GC的缓存项value + // 遍历 queueOfGarbageCollectedEntries集合,清除已经被 GC 的缓存项 value while ((sv = (SoftEntry) queueOfGarbageCollectedEntries.poll()) != null) { delegate.removeObject(sv.key); } @@ -418,21 +419,21 @@ public class SoftCache implements Cache { public Object getObject(Object key) { Object result = null; @SuppressWarnings("unchecked") // assumed delegate cache is totally managed by this cache - // 用一个软引用指向 key对应的缓存项 + // 用一个软引用指向 key 对应的缓存项 SoftReference softReference = (SoftReference) delegate.getObject(key); // 检测缓存中是否有对应的缓存项 if (softReference != null) { - // 获取softReference引用的value + // 获取 softReference 引用的 value result = softReference.get(); - // 如果softReference引用的对象已经被GC,则从缓存中清除对应的缓存项 + // 如果 softReference 引用的对象已经被 GC,则从缓存中清除对应的缓存项 if (result == null) { delegate.removeObject(key); } else { synchronized (hardLinksToAvoidGarbageCollection) { - // 将缓存项的value添加到hardLinksToAvoidGarbageCollection集合中保存 + // 将缓存项的 value 添加到 hardLinksToAvoidGarbageCollection集合 中保存 hardLinksToAvoidGarbageCollection.addFirst(result); - // 如果hardLinksToAvoidGarbageCollection的容积已经超过numberOfHardLinks - // 则将最老的缓存项从hardLinksToAvoidGarbageCollection中清除,FIFO + // 如果 hardLinksToAvoidGarbageCollection 的容积已经超过 numberOfHardLinks + // 则将最老的缓存项从 hardLinksToAvoidGarbageCollection 中清除,FIFO if (hardLinksToAvoidGarbageCollection.size() > numberOfHardLinks) { hardLinksToAvoidGarbageCollection.removeLast(); } @@ -444,7 +445,7 @@ public class SoftCache implements Cache { @Override public Object removeObject(Object key) { - // 清除指定的缓存项之前,也会先清理被GC的缓存项 + // 清除指定的缓存项之前,也会先清理被 GC 的缓存项 removeGarbageCollectedItems(); return delegate.removeObject(key); } @@ -456,7 +457,7 @@ public class SoftCache implements Cache { // 清理强引用集合 hardLinksToAvoidGarbageCollection.clear(); } - // 清理被GC的缓存项 + // 清理被 GC 的缓存项 removeGarbageCollectedItems(); // 清理最底层的缓存项 delegate.clear(); @@ -479,17 +480,17 @@ public class SoftCache implements Cache { } ``` -WeakCache的实现与SoftCache基本类似,唯一的区别在于其中使用WeakEntry(继承了WeakReference)封装真正的 value 对象,其他实现完全一样。 +WeakCache 的实现与 SoftCache 基本类似,唯一的区别在于其中使用 WeakEntry(继承了WeakReference)封装真正的 value对象,其他实现完全一样。 -另外,还有ScheduledCache、LoggingCache、SynchronizedCache、SerializedCache等。ScheduledCache是周期性清理缓存的装饰器,它的clearInterval字段记录了两次缓存清理之间的时间间隔,默认是一小时,lastClear字段记录了最近一次清理的时间戳。ScheduledCache 的getObject()、putObject()、removeObject()等核心方法,在执行时都会根据这两个字段检测是否需要进行清理操作,清理操作会清空缓存中所有缓存项。 +另外,还有 ScheduledCache、LoggingCache、SynchronizedCache、SerializedCache 等。ScheduledCache 是周期性清理缓存的装饰器,它的 clearInterval字段 记录了两次缓存清理之间的时间间隔,默认是一小时,lastClear字段 记录了最近一次清理的时间戳。 ScheduledCache 的 getObject()、putObject()、removeObject() 等核心方法,在执行时都会根据这两个字段检测是否需要进行清理操作,清理操作会清空缓存中所有缓存项。 -LoggingCache 在 Cache 的基础上提供了日志功能,它通过 hit 字段和 request 字段记录了 Cache 的命中次数和访问次数。在 LoggingCache.getObject()方法中,会统计命中次数和访问次数 这两个指标,井按照指定的日志输出方式输出命中率。 +LoggingCache 在 Cache 的基础上提供了日志功能,它通过 hit字段 和 request字段 记录了 Cache 的命中次数和访问次数。在 LoggingCache.getObject()方法 中,会统计命中次数和访问次数 这两个指标,井按照指定的日志输出方式输出命中率。 -SynchronizedCache通过在每个方法上添加 synchronized关键字,为Cache添加了同步功能,有点类似于 JDK 中 Collections 的 SynchronizedCollection 内部类。 +SynchronizedCache 通过在每个方法上添加 synchronized关键字,为 Cache 添加了同步功能,有点类似于 JDK 中 Collections 的 SynchronizedCollection内部类。 -SerializedCache 提供了将 value 对象序列化的功能。SerializedCache 在添加缓存项时,会将 value 对应的 Java 对象进行序列化,井将序列化后的 byte[] 数组作为 value 存入缓存 。 SerializedCache 在获取缓存项时,会将缓存项中的 byte[] 数组反序列化成 Java 对象。不使用 SerializedCache 装饰器进行装饰的话,每次从缓存中获取同一 key 对应的对象时,得到的都是同一对象,任意一个线程修改该对象都会影响到其他线程,以及缓存中的对象。而 使用SerializedCache 每次从缓存中获取数据时,都会通过反序列化得到一个全新的对象。 SerializedCache 使用的序列化方式是 Java 原生序列化。 +SerializedCache 提供了将 value对象 序列化的功能。SerializedCache 在添加缓存项时,会将 value 对应的 Java对象 进行序列化,井将序列化后的 byte[]数组 作为 value 存入缓存 。 SerializedCache 在获取缓存项时,会将缓存项中的 byte[]数组 反序列化成 Java对象。不使用 SerializedCache装饰器 进行装饰的话,每次从缓存中获取同一 key 对应的对象时,得到的都是同一对象,任意一个线程修改该对象都会影响到其他线程,以及缓存中的对象。而使用 SerializedCache 每次从缓存中获取数据时,都会通过反序列化得到一个全新的对象。 SerializedCache 使用的序列化方式是 Java原生序列化。 ## 2 CacheKey -在 Cache 中唯一确定一个缓存项,需要使用缓存项的 key进行比较,MyBatis 中因为涉及动态 SQL 等 多方面因素, 其缓存项的 key 不能仅仅通过一个 String 表示,所以 MyBatis 提供了 CacheKey 类来表示缓存项的 key,在一个 CacheKey 对象中可以封装多个影响缓存项的因素。 CacheKey 中可以添加多个对象,由这些对象共同确定两个 CacheKey 对象是否相同。 +在 Cache 中唯一确定一个缓存项,需要使用缓存项的 key 进行比较,MyBatis 中因为涉及 动态SQL 等多方面因素, 其缓存项的 key 不能仅仅通过一个 String 表示,所以 MyBatis 提供了 CacheKey类 来表示缓存项的 key,在一个 CacheKey对象 中可以封装多个影响缓存项的因素。 CacheKey 中可以添加多个对象,由这些对象共同确定两个 CacheKey对象 是否相同。 ```java public class CacheKey implements Cloneable, Serializable { @@ -548,16 +549,16 @@ public class CacheKey implements Cloneable, Serializable { } /** - * CacheKey重写了equals()和hashCode()方法,这两个方法使用上面介绍 - * 的count、checksum、hashcode、updateList比较两个CacheKey对象是否相同 + * CacheKey重写了 equals() 和 hashCode()方法,这两个方法使用上面介绍 + * 的 count、checksum、hashcode、updateList 比较两个 CacheKey对象 是否相同 */ @Override public boolean equals(Object object) { - // 如果为同一对象,直接返回true + // 如果为同一对象,直接返回 true if (this == object) { return true; } - // 如果object都不是CacheKey类型,直接返回false + // 如果 object 都不是 CacheKey类型,直接返回 false if (!(object instanceof CacheKey)) { return false; } @@ -565,7 +566,7 @@ public class CacheKey implements Cloneable, Serializable { // 类型转换一下 final CacheKey cacheKey = (CacheKey) object; - // 依次比较hashcode、checksum、count,如果不等,直接返回false + // 依次比较 hashcode、checksum、count,如果不等,直接返回 false if (hashcode != cacheKey.hashcode) { return false; } @@ -576,7 +577,7 @@ public class CacheKey implements Cloneable, Serializable { return false; } - // 比较updateList中的元素是否相同,不同直接返回false + // 比较 updateList 中的元素是否相同,不同直接返回 false for (int i = 0; i < updateList.size(); i++) { Object thisObject = updateList.get(i); Object thatObject = cacheKey.updateList.get(i); @@ -612,6 +613,6 @@ public class CacheKey implements Cloneable, Serializable { ``` ## 3 小结 -至此 Mybatis 的基础支持层的主要模块就分析完了。本模块首先介绍了 MyBatis 对 Java 反射机制的封装;然后分析了类型转换 TypeHandler 组件,了解了 MyBatis 如何实现数据在 Java 类型与 JDBC 类型之间的转换。 +至此 Mybatis 的基础支持层的主要模块就分析完了。本模块首先介绍了 MyBatis 对 Java反射机制的封装;然后分析了类型转换 TypeHandler组件,了解了 MyBatis 如何实现数据在 Java类型 与 JDBC类型 之间的转换。 -之后分析了MyBatis 提供的 DataSource 模块的实现和原理,深入解析了 MyBatis 自带的连接池PooledDataSource 的详细实现;后面紧接着介绍了 Transaction 模块的功能。然后分析了 binding 模块如何将 Mapper 接口与映射配置信息相关联,以及其中的原理。最后介绍了 MyBatis 的缓存模块,分析了 Cache 接口以及多个实现类的具体实现,它们是Mybatis中一级缓存和二级缓存的基础。 \ No newline at end of file +之后分析了 MyBatis 提供的 DataSource模块 的实现和原理,深入解析了 MyBatis 自带的连接池 PooledDataSource 的详细实现;后面紧接着介绍了 Transaction模块 的功能。然后分析了 binding模块 如何将 Mapper接口 与映射配置信息相关联,以及其中的原理。最后介绍了 MyBatis 的缓存模块,分析了 Cache接口 以及多个实现类的具体实现,它们是 Mybatis 中一级缓存和二级缓存的基础。 \ No newline at end of file diff --git a/docs/Mybatis/核心处理层/1、MyBatis初始化.md b/docs/Mybatis/核心处理层/1、MyBatis初始化.md index 84e79ed..16f8c97 100644 --- a/docs/Mybatis/核心处理层/1、MyBatis初始化.md +++ b/docs/Mybatis/核心处理层/1、MyBatis初始化.md @@ -1,6 +1,6 @@ -和spring框架的IoC容器初始化一样,mybatis也会通过定位、解析相应的配置文件完成自己的初始化。mybatis的配置文件主要有mybatis-config.xml核心配置文件及一系列映射配置文件,另外,mybatis也会根据注解进行配置。 +和 Spring框架 的 IoC容器初始化 一样,Mybatis 也会通过定位、解析相应的配置文件完成自己的初始化。Mybatis 的配置文件主要有 mybatis-config.xml核心配置文件 及一系列映射配置文件,另外,Mybatis 也会根据注解进行配置。 ## 1 BaseBuilder -mybatis初始化的主要内容是加载并解析mybatis-config.xml配置文件、映射配置文件以及相关的注解信息。mybatis的初始化入口是SqlSessionFactoryBuilder的build()方法。 +Mybatis初始化 的主要内容是加载并解析 mybatis-config.xml配置文件、映射配置文件以及相关的注解信息。Mybatis 的初始化入口是 SqlSessionFactoryBuilder 的 build()方法。 ```java public class SqlSessionFactoryBuilder { @@ -17,15 +17,15 @@ public class SqlSessionFactoryBuilder { } /** - * build方法的主要实现 + * build()方法 的主要实现 */ public SqlSessionFactory build(Reader reader, String environment, Properties properties) { try { - // SqlSessionFactory会创建XMLConfigBuilder对象来解析mybatis-config.xml配置文件 - // XMLConfigBuilder继承自BaseBuilder抽象类,顾名思义这一系的类使用了 建造者设计模式 + // SqlSessionFactory 会创建 XMLConfigBuilder对象 来解析 mybatis-config.xml配置文件 + // XMLConfigBuilder 继承自 BaseBuilder抽象类,顾名思义这一系的类使用了 建造者设计模式 XMLConfigBuilder parser = new XMLConfigBuilder(reader, environment, properties); - // 解析配置文件的内容 到Configuration对象,根据到Configuration对象 - // 创建DefaultSqlSessionFactory对象,然后返回 + // 解析配置文件的内容 到 Configuration对象,根据 Configuration对象 + // 创建 DefaultSqlSessionFactory对象,然后返回 return build(parser.parse()); } catch (Exception e) { throw ExceptionFactory.wrapException("Error building SqlSession.", e); @@ -44,17 +44,17 @@ public class SqlSessionFactoryBuilder { return new DefaultSqlSessionFactory(config); } ``` -BaseBuilder中的核心字段如下: +BaseBuilder 中的核心字段如下: ```java public abstract class BaseBuilder { - // 保存了mybatis的几乎所以核心配置信息,全局唯一 + // 保存了 Mybatis 的几乎所以核心配置信息,全局唯一 protected final Configuration configuration; - // 在mybatis-config.xml中可以通过标签定义别名 + // 在 mybatis-config.xml 中可以通过 标签 定义别名 protected final TypeAliasRegistry typeAliasRegistry; - // 在mybatis-config.xml中可以通过标签添加自定义TypeHandler - // TypeHandler用于完成JDBC数据类型与Java类型的相互转换,所有的TypeHandler - // 都保存在typeHandlerRegistry中 + // 在 mybatis-config.xml 中可以通过 标签 添加 自定义TypeHandler + // TypeHandler 用于完成 JDBC数据类型 与 Java类型 的相互转换,所有的 TypeHandler + // 都保存在 typeHandlerRegistry 中 protected final TypeHandlerRegistry typeHandlerRegistry; public BaseBuilder(Configuration configuration) { @@ -64,38 +64,38 @@ public abstract class BaseBuilder { } } ``` -BaseBuilder中的typeAliasRegistry和typeHandlerRegistry字段均来自于configuration,通过BaseBuilder的构造方法可以看到详细内容。 +BaseBuilder 中的 typeAliasRegistry 和 typeHandlerRegistry字段 均来自于 configuration,通过 BaseBuilder 的构造方法可以看到详细内容。 ## 2 XMLConfigBuilder -XMLConfigBuilder是BaseBuilder的众多子类之一,主要负责解析mybatis-config.xml配置文件。它通过调用parseConfiguration()方法实现整个解析过程,其中,mybatis-config.xml配置文件中的每个节点都被封装成了一个个相应的解析方法,parseConfiguration()方法只是依次调用了这些解析方法而已。 +XMLConfigBuilder 是 BaseBuilder 的众多子类之一,主要负责解析 mybatis-config.xml配置文件。它通过调用 parseConfiguration()方法 实现整个解析过程,其中,mybatis-config.xml配置文件 中的每个节点都被封装成了一个个相应的解析方法,parseConfiguration()方法 只是依次调用了这些解析方法而已。 ```java public class XMLConfigBuilder extends BaseBuilder { - // 标记是否解析过mybatis-config.xml文件 + // 标记是否解析过 mybatis-config.xml文件 private boolean parsed; - // 用于解析mybatis-config.xml的解析器 + // 用于解析 mybatis-config.xml 的解析器 private final XPathParser parser; - // 标识配置的名称,默认读取标签的default属性 + // 标识 配置 的名称,默认读取 标签 的 default属性 private String environment; - // 创建并缓存Reflector对象 + // 创建并缓存 Reflector对象 private final ReflectorFactory localReflectorFactory = new DefaultReflectorFactory(); /** - * 解析的入口,调用了parseConfiguration()进行后续的解析 + * 解析的入口,调用了 parseConfiguration() 进行后续的解析 */ public Configuration parse() { - // parsed标志位的处理 + // parsed标志位 的处理 if (parsed) { throw new BuilderException("Each XMLConfigBuilder can only be used once."); } parsed = true; - // 在mybatis-config.xml配置文件中查找节点,并开始解析 + // 在 mybatis-config.xml配置文件 中查找 节点,并开始解析 parseConfiguration(parser.evalNode("/configuration")); return configuration; } private void parseConfiguration(XNode root) { try { - // 根据root.evalNode("properties")中的值就可以知道具体是解析哪个标签的方法咯 + // 根据 root.evalNode("properties") 中的值就可以知道具体是解析哪个标签的方法咯 propertiesElement(root.evalNode("properties")); Properties settings = settingsAsProperties(root.evalNode("settings")); loadCustomVfs(settings); @@ -115,19 +115,19 @@ public class XMLConfigBuilder extends BaseBuilder { } } ``` -mybatis中的标签很多,所以相对应的解析方法也很多,这里挑几个比较重要的标签进行分析。 +Mybatis 中的标签很多,所以相对应的解析方法也很多,这里挑几个比较重要的标签进行分析。 ### 2.1 解析<typeHandlers>标签 ```java private void typeHandlerElement(XNode parent) throws Exception { if (parent != null) { - // 处理下的所有子标签 + // 处理 下的所有子标签 for (XNode child : parent.getChildren()) { - // 处理标签 + // 处理 标签 if ("package".equals(child.getName())) { // 获取指定的包名 String typeHandlerPackage = child.getStringAttribute("name"); - // 通过typeHandlerRegistry的register(packageName)方法 - // 扫描指定包中的所有TypeHandler类,并进行注册 + // 通过 typeHandlerRegistry 的 register(packageName)方法 + // 扫描指定包中的所有 TypeHandler类,并进行注册 typeHandlerRegistry.register(typeHandlerPackage); } else { // Java数据类型 @@ -156,29 +156,29 @@ mybatis中的标签很多,所以相对应的解析方法也很多,这里挑 ### 2.2 解析<environments>标签 ```java /** - * mybatis可以配置多个环境,分别用于开发、测试及生产等, - * 但每个SqlSessionFactory实例只能选择其一 + * Mybatis 可以配置多个 环境,分别用于开发、测试及生产等, + * 但每个 SqlSessionFactory实例 只能选择其一 */ private void environmentsElement(XNode context) throws Exception { if (context != null) { - // 如果未指定XMLConfigBuilder的environment字段,则使用default属性指定的环境 + // 如果未指定 XMLConfigBuilder 的 environment字段,则使用 default属性 指定的 环境 if (environment == null) { environment = context.getStringAttribute("default"); } - // 遍历节点 + // 遍历 节点 for (XNode child : context.getChildren()) { String id = child.getStringAttribute("id"); if (isSpecifiedEnvironment(id)) { - // 实例化TransactionFactory + // 实例化 TransactionFactory TransactionFactory txFactory = transactionManagerElement(child.evalNode("transactionManager")); - // 创建DataSourceFactory和DataSource + // 创建 DataSourceFactory 和 DataSource DataSourceFactory dsFactory = dataSourceElement(child.evalNode("dataSource")); DataSource dataSource = dsFactory.getDataSource(); - // 创建的Environment对象中封装了上面的TransactionFactory对象和DataSource对象 + // 创建的 Environment对象 中封装了上面的 TransactionFactory对象 和 DataSource对象 Environment.Builder environmentBuilder = new Environment.Builder(id) .transactionFactory(txFactory) .dataSource(dataSource); - // 为configuration注入environment属性值 + // 为 configuration 注入 environment属性值 configuration.setEnvironment(environmentBuilder.build()); } } @@ -186,38 +186,38 @@ mybatis中的标签很多,所以相对应的解析方法也很多,这里挑 } ``` ### 2.3 解析<databaseIdProvider>标签 -mybatis不像hibernate那样,通过hql的方式直接帮助开发人员屏蔽不同数据库产品在sql语法上的差异,针对不同的数据库产品,mybatis往往要编写不同的sql语句。但在mybatis-config.xml配置文件中,可以通过<databaseIdProvider>定义所有支持的数据库产品的databaseId,然后在映射配置文件中定义sql语句节点时,通过databaseId指定该sql语句应用的数据库产品,也可以达到类似的屏蔽数据库产品的功能。 +Mybatis 不像 Hibernate 那样,通过 HQL 的方式直接帮助开发人员屏蔽不同数据库产品在 sql语法 上的差异,针对不同的数据库产品, Mybatis 往往要编写不同的 sql语句。但在 mybatis-config.xml配置文件 中,可以通过 <databaseIdProvider> 定义所有支持的数据库产品的 databaseId,然后在映射配置文件中定义 sql语句节点 时,通过 databaseId 指定该 sql语句 应用的数据库产品,也可以达到类似的屏蔽数据库产品的功能。 -mybatis初始化时,会根据前面解析到的DataSource来确认当前使用的数据库产品,然后在解析映射文件时,加载不带databaseId属性的sql语句 及 带有databaseId属性的sql语句,其中,带有databaseId属性的sql语句优先级更高,会被优先选中。 +Mybatis 初始化时,会根据前面解析到的 DataSource 来确认当前使用的数据库产品,然后在解析映射文件时,加载不带 databaseId属性 的 sql语句 及带有 databaseId属性 的 sql语句,其中,带有 databaseId属性 的 sql语句 优先级更高,会被优先选中。 ```java /** - * 解析节点,并创建指定的DatabaseIdProvider对象, - * 该对象会返回databaseId的值,mybatis会根据databaseId选择对应的sql语句去执行 + * 解析 节点,并创建指定的 DatabaseIdProvider对象, + * 该对象会返回 databaseId的值,Mybatis 会根据 databaseId 选择对应的 sql语句 去执行 */ private void databaseIdProviderElement(XNode context) throws Exception { DatabaseIdProvider databaseIdProvider = null; if (context != null) { String type = context.getStringAttribute("type"); - // 为了保证兼容性,修改type取值 + // 为了保证兼容性,修改 type取值 if ("VENDOR".equals(type)) { type = "DB_VENDOR"; } // 解析相关配置信息 Properties properties = context.getChildrenAsProperties(); - // 创建DatabaseIdProvider对象 + // 创建 DatabaseIdProvider对象 databaseIdProvider = (DatabaseIdProvider) resolveClass(type).newInstance(); - // 配置DatabaseIdProvider,完成初始化 + // 配置 DatabaseIdProvider,完成初始化 databaseIdProvider.setProperties(properties); } Environment environment = configuration.getEnvironment(); if (environment != null && databaseIdProvider != null) { - // 根据前面解析到的DataSource获取databaseId,并记录到configuration的configuration属性上 + // 根据前面解析到的 DataSource 获取 databaseId,并记录到 configuration 的 configuration属性 上 String databaseId = databaseIdProvider.getDatabaseId(environment.getDataSource()); configuration.setDatabaseId(databaseId); } } ``` -mybatis提供了DatabaseIdProvider接口,该接口的核心方法为getDatabaseId(DataSource dataSource),主要根据dataSource查找对应的databaseId并返回。该接口的主要实现类为VendorDatabaseIdProvider。 +Mybatis 提供了 DatabaseIdProvider接口,该接口的核心方法为 getDatabaseId(DataSource dataSource),主要根据 dataSource 查找对应的 databaseId 并返回。该接口的主要实现类为 VendorDatabaseIdProvider。 ```java public class VendorDatabaseIdProvider implements DatabaseIdProvider { @@ -247,20 +247,20 @@ public class VendorDatabaseIdProvider implements DatabaseIdProvider { // 解析到数据库产品名 String productName = getDatabaseProductName(dataSource); if (this.properties != null) { - // 根据子节点配置的数据库产品 和 databaseId之间的对应关系, - // 确定最终使用的databaseId + // 根据 子节点 配置的数据库产品和 databaseId 之间的对应关系, + // 确定最终使用的 databaseId for (Map.Entry property : properties.entrySet()) { if (productName.contains((String) property.getKey())) { return (String) property.getValue(); } } - // 没有合适的databaseId,则返回null + // 没有合适的 databaseId,则返回 null return null; } return productName; } - // 根据dataSource获取 数据库产品名的具体实现 + // 根据 dataSource 获取 数据库产品名的具体实现 private String getDatabaseProductName(DataSource dataSource) throws SQLException { Connection con = null; try { @@ -280,31 +280,31 @@ public class VendorDatabaseIdProvider implements DatabaseIdProvider { } ``` ### 2.4 解析<mappers>标签 -mybatis初始化时,除了加载mybatis-config.xml文件,还会加载全部的映射配置文件,mybatis-config.xml文件的<mapper>节点会告诉mybatis去哪里查找映射配置文件,及使用了配置注解标识的接口。 +Mybatis 初始化时,除了加载 mybatis-config.xml文件,还会加载全部的映射配置文件,mybatis-config.xml 文件的 <mapper>节点 会告诉 Mybatis 去哪里查找映射配置文件,及使用了配置注解标识的接口。 ```java /** - * 解析节点,本方法会创建XMLMapperBuilder对象加载映射文件,如果映射配置文件存在 - * 相应的Mapper接口,也会加载相应的Mapper接口,解析其中的注解 并完成向MapperRegistry的注册 + * 解析 节点,本方法会创建 XMLMapperBuilder对象 加载映射文件,如果映射配置文件存在 + * 相应的 Mapper接口,也会加载相应的 Mapper接口,解析其中的注解 并完成向 MapperRegistry 的注册 */ private void mapperElement(XNode parent) throws Exception { if (parent != null) { - // 处理的子节点 + // 处理 的子节点 for (XNode child : parent.getChildren()) { if ("package".equals(child.getName())) { - // 获取子节点中的包名 + // 获取 子节点 中的包名 String mapperPackage = child.getStringAttribute("name"); - // 扫描指定的包目录,然后向MapperRegistry注册Mapper接口 + // 扫描指定的包目录,然后向 MapperRegistry 注册 Mapper接口 configuration.addMappers(mapperPackage); } else { - // 获取节点的resource、url、mapperClass属性,这三个属性互斥,只能有一个不为空 - // mybatis提供了通过包名、映射文件路径、类全名、URL四种方式引入映射器。 - // 映射器由一个接口和一个XML配置文件组成,XML文件中定义了一个命名空间namespace, + // 获取 节点 的 resource、url、mapperClass属性,这三个属性互斥,只能有一个不为空 + // Mybatis 提供了通过包名、映射文件路径、类全名、URL 四种方式引入映射器。 + // 映射器由一个接口和一个 XML配置文件 组成,XML文件 中定义了一个 命名空间namespace, // 它的值就是接口对应的全路径。 String resource = child.getStringAttribute("resource"); String url = child.getStringAttribute("url"); String mapperClass = child.getStringAttribute("class"); - // 如果节点指定了resource或是url属性,则创建XMLMapperBuilder对象解析 - // resource或是url属性指定的Mapper配置文件 + // 如果 节点 指定了 resource 或是 url属性,则创建 XMLMapperBuilder对象 解析 + // resource 或是 url属性 指定的 Mapper配置文件 if (resource != null && url == null && mapperClass == null) { ErrorContext.instance().resource(resource); InputStream inputStream = Resources.getResourceAsStream(resource); @@ -316,7 +316,7 @@ mybatis初始化时,除了加载mybatis-config.xml文件,还会加载全部 XMLMapperBuilder mapperParser = new XMLMapperBuilder(inputStream, configuration, url, configuration.getSqlFragments()); mapperParser.parse(); } else if (resource == null && url == null && mapperClass != null) { - // 如果节点指定了class属性,则向MapperRegistry注册该Mapper接口 + // 如果 节点 指定了 class属性,则向 MapperRegistry 注册 该Mapper接口 Class mapperInterface = Resources.classForName(mapperClass); configuration.addMapper(mapperInterface); } else { @@ -328,38 +328,38 @@ mybatis初始化时,除了加载mybatis-config.xml文件,还会加载全部 } ``` ## 3 XMLMapperBuilder -和XMLConfigBuilder一样,XMLMapperBuilder也继承了BaseBuilder,其主要负责解析映射配置文件,其解析配置文件的入口方法也是parse(),另外,XMLMapperBuilder也将各个节点的解析过程拆分成了一个个小方法,然后由configurationElement()方法统一调用。 +和 XMLConfigBuilder 一样,XMLMapperBuilder 也继承了 BaseBuilder,其主要负责解析映射配置文件,其解析配置文件的入口方法也是 parse(),另外,XMLMapperBuilder 也将各个节点的解析过程拆分成了一个个小方法,然后由 configurationElement()方法 统一调用。 ```java public class XMLMapperBuilder extends BaseBuilder { public void parse() { // 是否已经加载过该配置文件 if (!configuration.isResourceLoaded(resource)) { - // 解析节点 + // 解析 节点 configurationElement(parser.evalNode("/mapper")); - // 将resource添加到configuration的loadedResources属性中, - // 该属性是一个HashSet类型的集合,其中记录了已经加载过的映射文件 + // 将 resource 添加到 configuration 的 loadedResources属性 中, + // 该属性是一个 HashSet类型的集合,其中记录了已经加载过的映射文件 configuration.addLoadedResource(resource); - // 注册Mapper接口 + // 注册 Mapper接口 bindMapperForNamespace(); } - // 处理configurationElement()方法中解析失败的节点 + // 处理 configurationElement()方法 中解析失败的 节点 parsePendingResultMaps(); - // 处理configurationElement()方法中解析失败的节点 + // 处理 configurationElement()方法 中解析失败的 节点 parsePendingCacheRefs(); - // 处理configurationElement()方法中解析失败的节点 + // 处理 configurationElement()方法 中解析失败的 节点 parsePendingStatements(); } private void configurationElement(XNode context) { try { - // 获取节点的namespace属性 + // 获取 节点 的 namespace属性 String namespace = context.getStringAttribute("namespace"); if (namespace == null || namespace.equals("")) { throw new BuilderException("Mapper's namespace cannot be empty"); } - // 使用MapperBuilderAssistant对象的currentNamespace属性 记录namespace命名空间 + // 使用 MapperBuilderAssistant对象 的 currentNamespace属性 记录 namespace命名空间 builderAssistant.setCurrentNamespace(namespace); - // 解析节点,后面的解析方法 也都见名知意 + // 解析 节点,后面的解析方法 也都见名知意 cacheRefElement(context.evalNode("cache-ref")); cacheElement(context.evalNode("cache")); parameterMapElement(context.evalNodes("/mapper/parameterMap")); @@ -372,37 +372,37 @@ public class XMLMapperBuilder extends BaseBuilder { } } ``` -XMLMapperBuilder也根据配置文件进行了一系列节点解析,我们着重分析一下比较重要且常见的<resultMap>节点和<sql>节点 +XMLMapperBuilder 也根据配置文件进行了一系列节点解析,我们着重分析一下比较重要且常见的 <resultMap>节点 和 <sql>节点 ### 3.1 解析<resultMap>节点 -select语句查询得到的结果是一张二维表,水平方向上是一个个字段,垂直方向上是一条条记录。而Java是面向对象的程序设计语言,对象是根据类的定义创建的,类之间的引用关系可以认为是嵌套结构。JDBC编程中,为了将结果集中的数据映射成VO对象,我们需要自己写代码从结果集中获取数据,然后将数据封装成对应的VO对象,并设置好对象之间的关系,这种ORM的过程中存在大量重复的代码。 +select语句 查询得到的结果是一张二维表,水平方向上是一个个字段,垂直方向上是一条条记录。而 Java 是面向对象的程序设计语言,对象是根据类的定义创建的,类之间的引用关系可以认为是嵌套结构。JDBC编程 中,为了将结果集中的数据映射成 VO对象,我们需要自己写代码从结果集中获取数据,然后将数据封装成对应的 VO对象,并设置好对象之间的关系,这种 ORM 的过程中存在大量重复的代码。 -mybatis通过<resultMap>节点定义了ORM规则,可以满足大部分的映射需求,减少重复代码,提高开发效率。 +Mybatis 通过 <resultMap>节点 定义了 ORM规则,可以满足大部分的映射需求,减少重复代码,提高开发效率。 -在分析<resultMap>节点的解析过程之前,先看一下该过程使用的数据结构。每个ResultMapping对象记录了结果集中的一列与JavaBean中一个属性之间的映射关系。<resultMap>节点下除了<discriminator>子节点的其它子节点 都会被解析成对应的ResultMapping对象。 +在分析 <resultMap>节点 的解析过程之前,先看一下该过程使用的数据结构。每个 ResultMapping对象 记录了结果集中的一列与 JavaBean 中一个属性之间的映射关系。<resultMap>节点 下除了 <discriminator>子节点 的其它子节点,都会被解析成对应的 ResultMapping对象。 ```java public class ResultMapping { private Configuration configuration; - // 对应节点的property属性,表示 该列进行映射的属性 + // 对应节点的 property属性,表示 该列进行映射的属性 private String property; - // 对应节点的column属性,表示 从数据库中得到的列名或列名的别名 + // 对应节点的 column属性,表示 从数据库中得到的列名或列名的别名 private String column; - // 表示 一个JavaBean的完全限定名,或一个类型别名 + // 表示 一个 JavaBean 的完全限定名,或一个类型别名 private Class javaType; - // 进行映射列的JDBC类型 + // 进行映射列的 JDBC类型 private JdbcType jdbcType; // 类型处理器 private TypeHandler typeHandler; - // 该属性通过id引用了另一个节点,它负责将结果集中的一部分列映射成 - // 它所关联的结果对象。这样我们就可以通过join方式进行关联查询,然后直接映射成 + // 该属性通过 id 引用了另一个 节点,它负责将结果集中的一部分列映射成 + // 它所关联的结果对象。这样我们就可以通过 join方式 进行关联查询,然后直接映射成 // 多个对象,并同时设置这些对象之间的组合关系(nested嵌套的) private String nestedResultMapId; - // 该属性通过id引用了另一个节点,它会把指定的列值传入 select属性 指定的 + // select语句 中作为参数进行查询。使用该属性可能会导致 ORM 中的 N+1问题,请谨慎使用 private String nestedQueryId; private Set notNullColumns; private String columnPrefix; - // 处理后的标志,共有两个:id和constructor + // 处理后的标志,共有两个:id 和 constructor private List flags; private List composites; private String resultSet; @@ -411,38 +411,38 @@ public class ResultMapping { private boolean lazy; } ``` -另一个比较重要的类是ResultMap,每个<resultMap>节点都会被解析成一个ResultMap对象,其中每个节点所定义的映射关系,则使用ResultMapping对象表示。 +另一个比较重要的类是 ResultMap,每个 <resultMap>节点 都会被解析成一个 ResultMap对象,其中每个节点所定义的映射关系,则使用 ResultMapping对象 表示。 ```java public class ResultMap { private Configuration configuration; - // 这些属性一一对应了中的属性 + // 这些属性一一对应了 中的属性 private String id; private Class type; - // 记录了除节点之外的其它映射关系(即,ResultMapping对象集合) + // 记录了除 节点 之外的其它映射关系(即,ResultMapping对象集合) private List resultMappings; - // 记录了映射关系中带有ID标志的映射关系,如:节点和节点的子节点 + // 记录了映射关系中带有 ID标志 的映射关系,如:节点 和 节点 的 子节点 private List idResultMappings; - // 记录了映射关系中带有Constructor标志的映射关系,如:所有子元素 + // 记录了映射关系中带有 Constructor标志 的映射关系,如:所有子元素 private List constructorResultMappings; - // 记录了映射关系中不带有Constructor标志的映射关系 + // 记录了映射关系中不带有 Constructor标志 的映射关系 private List propertyResultMappings; - // 记录了所有映射关系中涉及的column属性的集合 + // 记录了所有映射关系中涉及的 column属性 的集合 private Set mappedColumns; - // 记录了所有映射关系中涉及的property属性的集合 + // 记录了所有映射关系中涉及的 property属性 的集合 private Set mappedProperties; - // 鉴别器,对应节点 + // 鉴别器,对应 节点 private Discriminator discriminator; - // 是否含有嵌套的结果映射,如果某个映射关系中存在resultMap属性, - // 且不存在resultSet属性,则为true + // 是否含有嵌套的结果映射,如果某个映射关系中存在 resultMap属性, + // 且不存在 resultSet属性,则为true private boolean hasNestedResultMaps; - // 是否含有嵌套查询,如果某个属性映射存在select属性,则为true + // 是否含有嵌套查询,如果某个属性映射存在 select属性,则为true private boolean hasNestedQueries; // 是否开启自动映射 private Boolean autoMapping; } ``` -了解了ResultMapping 和ResultMap 记录的信息之后,下面开始介绍<resultMap>节点的解析过程。在XMLMapperBuilder中通过resultMapElements()方法解析映射配置文件中的全部<resultMap>节点,该方法会循环调用resultMapElement()方法处理每个<resultMap>节点。 +了解了 ResultMapping 和 ResultMap 记录的信息之后,下面开始介绍 <resultMap>节点 的解析过程。在 XMLMapperBuilder 中通过 resultMapElements()方法 解析映射配置文件中的全部 <resultMap>节点,该方法会循环调用 resultMapElement()方法 处理每个 <resultMap> 节点。 ```java private ResultMap resultMapElement(XNode resultMapNode) throws Exception { return resultMapElement(resultMapNode, Collections. emptyList()); @@ -450,42 +450,42 @@ public class ResultMap { private ResultMap resultMapElement(XNode resultMapNode, List additionalResultMappings) throws Exception { ErrorContext.instance().activity("processing " + resultMapNode.getValueBasedIdentifier()); - // 的id属性,默认值会拼装所有父节点的id 或value或property属性值 + // 的 id属性,默认值会拼装所有父节点的 id 或 value 或 property属性值 String id = resultMapNode.getStringAttribute("id", resultMapNode.getValueBasedIdentifier()); - // 的type属性,表示结果集将被映射成type指定类型的对象 + // 的 type属性,表示结果集将被映射成 type 指定类型的对象 String type = resultMapNode.getStringAttribute("type", resultMapNode.getStringAttribute("ofType", resultMapNode.getStringAttribute("resultType", resultMapNode.getStringAttribute("javaType")))); - // 该属性指定了该节点的继承关系 + // 该属性指定了该 节点 的继承关系 String extend = resultMapNode.getStringAttribute("extends"); - // 为true则启动自动映射功能,该功能会自动查找与列明相同的属性名,并调用setter方法, - // 为false,则需要在节点内注明映射关系才会调用对应的setter方法 + // 为 true 则启动自动映射功能,该功能会自动查找与列明相同的属性名,并调用 setter方法, + // 为 false,则需要在 节点 内注明映射关系才会调用对应的 setter方法 Boolean autoMapping = resultMapNode.getBooleanAttribute("autoMapping"); - // 解析type类型 + // 解析 type类型 Class typeClass = resolveClass(type); Discriminator discriminator = null; // 该集合用来记录解析结果 List resultMappings = new ArrayList(); resultMappings.addAll(additionalResultMappings); - // 获取并处理的子节点 + // 获取并处理 的子节点 List resultChildren = resultMapNode.getChildren(); - // child单数形式,children复数形式 + // child 单数形式,children 复数形式 for (XNode resultChild : resultChildren) { - // 处理节点 + // 处理 节点 if ("constructor".equals(resultChild.getName())) { processConstructorElement(resultChild, typeClass, resultMappings); - // 处理节点 + // 处理 节点 } else if ("discriminator".equals(resultChild.getName())) { discriminator = processDiscriminatorElement(resultChild, typeClass, resultMappings); } else { - // 处理,,,等节点 + // 处理 , , , 等节点 List flags = new ArrayList(); if ("id".equals(resultChild.getName())) { flags.add(ResultFlag.ID); } - // 创建ResultMapping对象,并添加到resultMappings集合 + // 创建 ResultMapping对象,并添加到 resultMappings集合 resultMappings.add(buildResultMappingFromContext(resultChild, typeClass, flags)); } } @@ -498,10 +498,10 @@ public class ResultMap { } } ``` -从上面的代码我们可以看到,mybatis从<resultMap>节点获取到id属性和type属性值之后,就会通过XMLMapperBuilder的buildResultMappingFromContext()方法为<result>节点创建对应的ResultMapping 对象。 +从上面的代码我们可以看到,Mybatis 从 <resultMap>节点 获取到 id属性 和 type属性值 之后,就会通过 XMLMapperBuilder 的 buildResultMappingFromContext()方法 为 <result>节点 创建对应的 ResultMapping对象。 ```java /** - * 根据上下文环境构建ResultMapping + * 根据上下文环境构建 ResultMapping */ private ResultMapping buildResultMappingFromContext(XNode context, Class resultType, List flags) throws Exception { // 获取各个节点的属性,见文知意 @@ -527,30 +527,30 @@ public class ResultMap { @SuppressWarnings("unchecked") Class> typeHandlerClass = (Class>) resolveClass(typeHandler); JdbcType jdbcTypeEnum = resolveJdbcType(jdbcType); - // 创建ResultMapping对象并返回 + // 创建 ResultMapping对象 并返回 return builderAssistant.buildResultMapping(resultType, property, column, javaTypeClass, jdbcTypeEnum, nestedSelect, nestedResultMap, notNullColumn, columnPrefix, typeHandlerClass, flags, resultSet, foreignColumn, lazy); } ``` -得到ResultMapping对象集合之后,会调用ResultMapResolver的resolve()方法,该方法会调用MapperBuilderAssistant的addResultMap()方法创建ResultMap对象,并将ResultMap对象添加到Configuration的resultMaps集合中保存。 +得到 ResultMapping对象集合 之后,会调用 ResultMapResolver 的 resolve()方法,该方法会调用 MapperBuilderAssistant 的 addResultMap()方法 创建 ResultMap对象,并将 ResultMap对象 添加到 Configuration 的 resultMaps集合 中保存。 ```java public class MapperBuilderAssistant extends BaseBuilder { public ResultMap addResultMap(String id, Class type, String extend, Discriminator discriminator, List resultMappings, Boolean autoMapping) { - // ResultMap的完整id是"namespace.id"的格式 + // ResultMap 的 完整id 是 "namespace.id" 的格式 id = applyCurrentNamespace(id, false); - // 获取 父ResultMap的完整id + // 获取 父ResultMap 的 完整id extend = applyCurrentNamespace(extend, true); - // 针对extend属性进行的处理 + // 针对 extend属性 进行的处理 if (extend != null) { if (!configuration.hasResultMap(extend)) { throw new IncompleteElementException("Could not find a parent resultmap with id '" + extend + "'"); } // 父ResultMap对象 ResultMap resultMap = configuration.getResultMap(extend); - // 父ResultMap对象的ResultMapping集合 + // 父ResultMap对象 的 ResultMapping集合 List extendedResultMappings = new ArrayList(resultMap.getResultMappings()); - // 删除需要覆盖的ResultMapping集合 + // 删除需要覆盖的 ResultMapping集合 extendedResultMappings.removeAll(resultMappings); // Remove parent constructor if this resultMap declares a constructor. boolean declaresConstructor = false; @@ -568,7 +568,7 @@ public class MapperBuilderAssistant extends BaseBuilder { } } } - // 添加需要被继承下来的ResultMapping集合 + // 添加需要被继承下来的 ResultMapping集合 resultMappings.addAll(extendedResultMappings); } ResultMap resultMap = new ResultMap.Builder(configuration, id, type, resultMappings, autoMapping) @@ -580,7 +580,7 @@ public class MapperBuilderAssistant extends BaseBuilder { } ``` ### 3.2 解析<sql>节点 -在映射配置文件中,可以使用<sql>节点定义可重用的SQL语句片段,当需要重用<sql>节点中定义的SQL语句片段时,只需要使用<include>节点引入相应的片段即可,这样,在编写SQL语句以及维护这些SQL语句时,都会比较方便。XMLMapperBuilder的sqlElement()方法负责解析映射配置文件中定义的全部<sql>节点。 +在映射配置文件中,可以使用 <sql>节点 定义可重用的 SQL语句片段,当需要重用 <sql>节点 中定义的 SQL语句片段 时,只需要使用 <include>节点 引入相应的片段即可,这样,在编写 SQL语句 以及维护这些 SQL语句 时,都会比较方便。XMLMapperBuilder 的 sqlElement()方法 负责解析映射配置文件中定义的 全部<sql>节点。 ```java private void sqlElement(List list) throws Exception { if (configuration.getDatabaseId() != null) { @@ -590,27 +590,27 @@ public class MapperBuilderAssistant extends BaseBuilder { } private void sqlElement(List list, String requiredDatabaseId) throws Exception { - // 遍历节点 + // 遍历 节点 for (XNode context : list) { String databaseId = context.getStringAttribute("databaseId"); String id = context.getStringAttribute("id"); - // 为id添加命名空间 + // 为 id 添加命名空间 id = builderAssistant.applyCurrentNamespace(id, false); - // 检测的databaseId与当前Configuration中记录的databaseId是否一致 + // 检测 的 databaseId 与当前 Configuration 中记录的 databaseId 是否一致 if (databaseIdMatchesCurrent(id, databaseId, requiredDatabaseId)) { - // 记录到sqlFragments(Map)中保存 + // 记录到 sqlFragments(Map) 中保存 sqlFragments.put(id, context); } } } ``` ## 4 XMLStatementBuilder -这一部分看的不是很懂,暂时保留,日后深入理解了再写。 + + ## 5 绑定Mapper接口 -通过之前对binding模块的解析可知,每个映射配置文件的命名空间可以绑定一个Mapper接口,并注册到MapperRegistry中。XMLMapperBuilder的bindMapperForNamespace()方法中,完成了映射配置文件与对应Mapper 接 -口的绑定。 +通过之前对 binding模块 的解析可知,每个映射配置文件的命名空间可以绑定一个 Mapper接口,并注册到 MapperRegistry中。XMLMapperBuilder 的 bindMapperForNamespace()方法 中,完成了映射配置文件与对应 Mapper接口 的绑定。 ```java public class XMLMapperBuilder extends BaseBuilder { private void bindMapperForNamespace() { @@ -625,12 +625,12 @@ public class XMLMapperBuilder extends BaseBuilder { //ignore, bound type is not required } if (boundType != null) { - // 是否已加载boundType接口 + // 是否已加载 boundType接口 if (!configuration.hasMapper(boundType)) { - // 追加个"namespace:"的前缀,并添加到Configuration的loadedResources集合中 + // 追加个 "namespace:" 的前缀,并添加到 Configuration 的 loadedResources集合 中 configuration.addLoadedResource("namespace:" + namespace); - // 添加到Configuration的mapperRegistry集合中,另外,往这个方法栈的更深处看 会发现 - // 其创建了MapperAnnotationBuilder对象,并调用了该对象的parse()方法解析Mapper接口 + // 添加到 Configuration的mapperRegistry集合 中,另外,往这个方法栈的更深处看 会发现 + // 其创建了 MapperAnnotationBuilder对象,并调用了该对象的 parse()方法 解析 Mapper接口 configuration.addMapper(boundType); } } @@ -647,7 +647,7 @@ public class MapperRegistry { boolean loadCompleted = false; try { knownMappers.put(type, new MapperProxyFactory(type)); - // 解析Mapper接口type中的信息 + // 解析 Mapper接口 type 中的信息 MapperAnnotationBuilder parser = new MapperAnnotationBuilder(config, type); parser.parse(); loadCompleted = true; @@ -665,34 +665,34 @@ public class MapperAnnotationBuilder { String resource = type.toString(); // 是否已经加载过该接口 if (!configuration.isResourceLoaded(resource)) { - // 检查是否加载过该接口对应的映射文件,如果未加载,则创建XMLMapperBuilder对象 + // 检查是否加载过该接口对应的映射文件,如果未加载,则创建 XMLMapperBuilder对象 // 解析对应的映射文件,该过程就是前面介绍的映射配置文件解析过程 loadXmlResource(); configuration.addLoadedResource(resource); assistant.setCurrentNamespace(type.getName()); - // 解析@CacheNamespace注解 + // 解析 @CacheNamespace注解 parseCache(); - // 解析@CacheNamespaceRef注解 + // 解析 @CacheNamespaceRef注解 parseCacheRef(); - // type接口的所有方法 + // type接口 的所有方法 Method[] methods = type.getMethods(); for (Method method : methods) { try { if (!method.isBridge()) { - // 解析SelectKey、ResultMap等注解,并创建MappedStatement对象 + // 解析 SelectKey、ResultMap 等注解,并创建 MappedStatement对象 parseStatement(method); } } catch (IncompleteElementException e) { - // 如果解析过程出现IncompleteElementException异常,可能是因为引用了 + // 如果解析过程出现 IncompleteElementException异常,可能是因为引用了 // 未解析的注解,这里将出现异常的方法记录下来,后面提供补偿机制,重新进行解析 configuration.addIncompleteMethod(new MethodResolver(this, method)); } } } - // 遍历configuration中的incompleteMethods集合,集合中记录了未解析的方法 + // 遍历 configuration 中的 incompleteMethods集合,集合中记录了未解析的方法 // 重新调用这些方法进行解析 parsePendingMethods(); } } ``` -另外,在MapperAnnotationBuilder的parse()方法中解析的注解,都能在映射配置文件中找到与之对应的XML节点,且两者的解析过程也非常相似。 \ No newline at end of file +另外,在 MapperAnnotationBuilder 的 parse()方法 中解析的注解,都能在映射配置文件中找到与之对应的 XML节点,且两者的解析过程也非常相似。 \ No newline at end of file diff --git a/docs/Netty/IO/NIO原理详解.md b/docs/Netty/IO/NIO原理详解.md deleted file mode 100644 index 5f28270..0000000 --- a/docs/Netty/IO/NIO原理详解.md +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/Netty/IOTechnologyBase/IO模型.md b/docs/Netty/IOTechnologyBase/IO模型.md new file mode 100644 index 0000000..f55a153 --- /dev/null +++ b/docs/Netty/IOTechnologyBase/IO模型.md @@ -0,0 +1,54 @@ +## Linux 网络 IO 模型简介 +Linux 的内核将所有外部设备都看做一个文件来操作,对一个文件的读写操作会调用内核提供的系统命令,返回一个fd (file descriptor,文件描述符)。而对一个 socket 的读写也会有相应的描述符,称为 socket fd (socket 描述符),描述符就是一个数字,它指向内核中的一个结构体(文件路径,数据区等一些属性)。根据UNIX网络编程对 I/O模型 的分类,UNIX 提供了5种 I/O模型,分别如下。 + +#### 1、阻塞IO模型 +在内核将数据准备好之前,系统调用会一直等待所有的套接字(Socket)传来数据,默认的是阻塞方式。 + +![avatar](/images/Netty/阻塞IO模型.png) + +Java 中的 socket.read()方法 最终会调用底层操作系统的 recvfrom方法,OS 会判断来自网络的数据报是否准备好,当数据报准备好了之后,OS 就会将数据从内核空间拷贝到用户空间(因为我们的用户程序只能获取用户空间的内存,无法直接获取内核空间的内存)。拷贝完成之后 socket.read() 就会解除阻塞,并得到网络数据的结果。 + +BIO中的阻塞,就是阻塞在2个地方: +1. OS 等待数据报通过网络发送过来,如果建立连接后数据一直没过来,就会白白浪费线程的资源; +2. 将数据从内核空间拷贝到用户空间。 + +在这2个时候,我们的线程会一直被阻塞,啥事情都不干。 +#### 2、非阻塞IO模型 + +![avatar](/images/Netty/非阻塞IO模型.png) + +每次应用程序询问内核是否有数据报准备好,当有数据报准备好时,就进行拷贝数据报的操作,从内核拷贝到用户空间,和拷贝完成返回的这段时间,应用进程是阻塞的。但在没有数据报准备好时,并不会阻塞程序,内核直接返回未准备好的信号,等待应用进程的下一次询问。但是,轮寻对于CPU来说是较大的浪费,一般只有在特定的场景下才使用。 + +从图中可以看到,非阻塞IO 的 recvfrom调用 会立即得到一个返回结果(数据报是否准备好),我们可以根据返回结果继续执行不同的逻辑。而阻塞IO 的recvfrom调用,如果无数据报准备好,一定会被阻塞住。虽然 非阻塞IO 比 阻塞IO 少了一段阻塞的过程,但事实上 非阻塞IO 这种方式也是低效的,因为我们不得不使用轮询方法区一直问 OS:“我的数据好了没啊”。 + +**BIO 不会在 拷贝数据之前 阻塞,但会在将数据从内核空间拷贝到用户空间时阻塞。一定要注意这个地方,Non-Blocking 还是会阻塞的。** +#### 3、IO复用模型 +Linux 提供 select/poll,进程通过将一个或多个 fd 传递给 select 或 poll系统 调用,阻塞发生在 select/poll 操作上。select/poll 可以帮我们侦测多个 fd 是否处于就绪状态,它们顺序扫描 fd 是否就绪,但支持的 fd 数量有限,因此它的使用也受到了一些制约。Linux 还提供了一个 epoll系统调用,epoll 使用 基于事件驱动方式 代替 顺序扫描,因此性能更高,当有 fd 就绪时,立即回调函数 rollback。 + +![avatar](/images/Netty/IO复用模型.png) + +#### 4、信号驱动IO模型 +首先开启套接口信号驱动IO功能,并通过系统调用 sigaction 执行一个信号处理函数(此系统调用立即返回,进程继续工作,它是非阻塞的)。当数据准备就绪时,就为该进程生成一个 SIGIO信号,通过信号回调通知应用程序调用 recvfrom 来读取数据,并通知主循环函数处理数据。 + +![avatar](/images/Netty/信号驱动IO模型.png) + +#### 5、异步IO模型 +告知内核启动某个操作,并让内核在整个操作完成后(包括将数据从内核复制到用户自己的缓冲区)通知我们。这种模型与信号驱动模型的主要区别是:信号驱动IO 由内核通知我们何时可以开始一个 IO 操作;异步IO模型 由内核通知我们 IO操作何时已经完成。 + +![avatar](/images/Netty/异步IO模型.png) + +从这五种 IO模型的结构 也可以看出,阻塞程度:阻塞IO>非阻塞IO>多路转接IO>信号驱动IO>异步IO,效率是由低到高的。 + +## IO 多路复用技术 +Java NIO 的核心类库中 多路复用器Selector 就是基于 epoll 的多路复用技术实现。 + +在 IO编程 过程中,当需要同时处理多个客户端接入请求时,可以利用多线程或者 IO多路复用技术 进行处理。IO多路复用技术 通过把多个 IO 的阻塞复用到同一个 select 的阻塞上,从而使得系统在单线程的情况下可以同时处理多个客户端请求。与传统的多线程/多进程模型比,IO多路复用 的最大优势是系统开销小,系统不需要创建新的额外进程或线程,也不需要维护这些进程和线程的运行,降低了系统的维护工作量,节省了系统资源,IO多路复用 的主要应用场景如下。 +- 服务器需要同时处理多个处于监听状态或者多个连接状态的套接字; +- 服务器需要同时处理多种网络协议的套接字。 + +目前支持 IO多路复用 的系统调用有 select、pselect、poll、epoll,在 Linux网络编程 过程中,很长一段时间都使用 select 做轮询和网络事件通知,然而 select 的一些固有缺陷导致了它的应用受到了很大的限制,最终 Linux 选择了 epoll。epoll 与 select 的原理比较类似,为了克服 select 的缺点,epoll 作了很多重大改进,现总结如下。 +1. 支持一个进程打开的 socket描述符 (fd) 不受限制(仅受限于操作系统的最大文件句柄数); +2. IO效率 不会随着 FD 数目的增加而线性下降; +3. epoll的API更加简单。 + +值得说明的是,用来克服 select/poll 缺点的方法不只有 epoll, epoll 只是一种 Linux 的实现方案。 \ No newline at end of file diff --git a/docs/Netty/IOTechnologyBase/四种IO编程及对比.md b/docs/Netty/IOTechnologyBase/四种IO编程及对比.md new file mode 100644 index 0000000..96c22b4 --- /dev/null +++ b/docs/Netty/IOTechnologyBase/四种IO编程及对比.md @@ -0,0 +1 @@ +努力更新中... \ No newline at end of file diff --git a/docs/Netty/IO/把被说烂的BIO、NIO、AIO再从头到尾扯一遍.md b/docs/Netty/IOTechnologyBase/把被说烂的BIO、NIO、AIO再从头到尾扯一遍.md similarity index 100% rename from docs/Netty/IO/把被说烂的BIO、NIO、AIO再从头到尾扯一遍.md rename to docs/Netty/IOTechnologyBase/把被说烂的BIO、NIO、AIO再从头到尾扯一遍.md diff --git a/images/Netty/IO复用模型.png b/images/Netty/IO复用模型.png new file mode 100644 index 0000000000000000000000000000000000000000..a023c8f5052a266524eea5fd998ef93f244607b2 GIT binary patch literal 146936 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 >A#<)NC!nM5_K?`ia#uK@pYH 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 Z;prEXR!%=2^oI#P=B8FA6-F2C{SWyye9Zs= literal 0 HcmV?d00001 diff --git a/images/Netty/信号驱动IO模型.png b/images/Netty/信号驱动IO模型.png new file mode 100644 index 0000000000000000000000000000000000000000..9f4592ea7ddd8d82fcae12c8df11ca0573909463 GIT binary patch literal 135523 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 azaTA@O12SGIK@DNKT7vit$2pP! literal 0 HcmV?d00001 diff --git a/images/Netty/异步IO模型.png b/images/Netty/异步IO模型.png new file mode 100644 index 0000000000000000000000000000000000000000..053f64b0c976dedb9d32645e9800b97b5a6f605c GIT binary patch literal 113143 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%0Dm@9l#A)cPnStgD8KRQZ7HrzT8 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 literal 0 HcmV?d00001 diff --git a/images/Netty/阻塞IO模型.png b/images/Netty/阻塞IO模型.png new file mode 100644 index 0000000000000000000000000000000000000000..5154b894459499949859210ac6477a516642e805 GIT binary patch literal 101641 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 QVg?}aboFyt=akR{0En0XLI3~& literal 0 HcmV?d00001 diff --git a/images/Netty/非阻塞IO模型.png b/images/Netty/非阻塞IO模型.png new file mode 100644 index 0000000000000000000000000000000000000000..208f7abc7cc181efe7391ed7b82bed2eaeb2c6db GIT binary patch literal 146417 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∾k+OPXmy3>edcAqU#muivPb~{ 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 literal 0 HcmV?d00001