源码分析
文章平均质量分 86
iteye_9083
这个作者很懒,什么都没留下…
展开
-
Arrays.copyof 和 System.arraycopy区别
jdk里有两个复制数组的方法 一个是底层native的 System.arraycopy 一个Arrays里的一系列重写的copyof 二者有什么关系,我们应该用哪个呢?上段源码就明白了 [code="java"]public static T[] copyOf(U[] original, int newLength, Class...原创 2013-06-08 17:05:55 · 119 阅读 · 0 评论 -
spring事务深入剖析 - 事务框架和mybatis如何衔接的
spring将事务和底层数据库操作分离,产生两个问题 第一个问题,事务代码的抽离; 第二个问题,数据连接的统一; 前面分析了第一个问题,现在看看第二个问题。 JDBC,事务的是附着在Connection对象上的,Connection对象同事是insert,update,delete数据库操作的对象,事务和操作数据库的Connection必须是同一个,才能起作用 在spring事务框架...2015-02-03 14:26:53 · 185 阅读 · 0 评论 -
spring事务深入剖析 - 一些重要状态对象的分析
在spring的事务运行过程中,需要保存一些状态,涉及的一些对象如下 1. TransactionSynchronizationManager 2. SuspendedResourcesHolder 3. DefaultTransactionStatus 底层以JDBC DataSourceTransactionManager为例,状态对象 1. DataSourceTrans...原创 2015-01-30 15:50:27 · 269 阅读 · 0 评论 -
spring事务深入剖析 - JDBC DataSourceTransactionManager 分析
首先介绍下DataSourceTransactionObject这个类,它是DataSourceTransactionManager的事务句柄,用于和AbstractPlatformTransactionManager接口方法之间的交互数据传递 下面介绍DataSourceTransactionManager各个方法,解析见注释 1. doGetTransaction //产生一个D...原创 2015-01-30 15:49:56 · 972 阅读 · 0 评论 -
spring事务深入剖析 - 事务框架
本文以申明式事务为例,开始下探,分析spring事务的源码结构,再以mybatis为例,分析spring事务是如何作用于ORM的。 首先看看spring的配置文件,简而言之,TransactionAttributeSourceAdvisor采用AOP方式,将事务transactionInterceptor织入注解的特定的方法上 <bean class="org.springframe...原创 2015-01-30 15:49:35 · 198 阅读 · 0 评论 -
Mybatis深入剖析 - typeHandlerRegistry parameterHandler resultSetHandler
Statement在具体orm的过程总,主要靠这三个类进行参数装配,结果装配和相应的类型转换 parameterHandler resultSetHandler typeHandlerRegistry protected BaseStatementHandler(Executor executor, MappedStatement mappedStatement, Object...2015-01-09 18:01:36 · 662 阅读 · 0 评论 -
Mybatis深入剖析 - 各种KeyGenerator的说明
KeyGenerator接口有三个实现类,SelectkeyGenerator,Jdbc3KeyGenerator,NoKeyGenerator 其中SelectkeyGenerator对应于生成主键操作,即针对insert类型的sql语句,配置selectKey的策略,自动为insert语句的参数补全id Jdbc3KeyGenerator和NoKeyGenerator对应于insert...原创 2015-01-09 11:10:27 · 1322 阅读 · 0 评论 -
Mybatis深入剖析 - StatementHandler初始化分析
如前文所诉,statementhandler是具体操作jdbc statement执行数据库sql的类 StatementHandler的初始化 跟随Executor,在Executor需要执行数据库操作时新建 依赖-Executor,MappedStatement, ResultHandler StatementHandler的创建过程如下 //Exe...2015-01-08 17:37:14 · 163 阅读 · 0 评论 -
Mybatis深入剖析 -Executor初始化分析
Executor的初始化 跟随SqlSession,Executory是SqlSession的对象属性 依赖-Transaction,执行时需要根据特定的事务,进行commit,rollback,close操作 Executory的创建过程如下 在Configuration的配置文件中执行全局的ExecutoryType,有BATCH,REUS...2015-01-06 11:33:41 · 169 阅读 · 0 评论 -
Mybatis深入剖析 - SqlSession的初始化分析
SqlSession的初始化 声明周期-SqlSession为回话声明周期,理论上一次用户请求,即一个线程里只开启一次session,使 用后即关闭 依赖-DefaultSqlSessionFactory为SqlSesson的工场类,看下面的代码,即可知道Configuration, Executor和Connection为它所依赖对象 ...2015-01-06 10:51:37 · 289 阅读 · 0 评论 -
Mybatis深入剖析 - 配置框架初始化分析
原始的初始化流程 1. 配置Configuration xml文件 2. SqlSessionFactoryBuilder.build拿到SqlSessionFactory(全局唯一) 3. 代码中的调用如下 SqlSession session= sqlSessionFactory.openSession(); UserDao userDao ...2015-01-05 19:25:57 · 96 阅读 · 0 评论 -
Mybatis深入剖析 - 功能结构及重要的类说明
Mybatis的功能架构分为三层(图片借用了百度百科): 1) API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理。 2) 数据处理层:负责具体的SQL查找、SQL解析、SQL执行和执行结果映射处理等。它主要的目的是根据调用的请求完成一次数据库操作。 3) 基础支...2015-01-05 19:12:58 · 98 阅读 · 0 评论 -
字符串反转 StringBuffer reverse源码分析
字符串反转是我们经常用到的小算法,一般我们可能会使用String.toCharArray来进行遍历反转,有些繁杂,其实jdk已经为我们封装了字符串反转操作,主要有以下两点需要注意 1. 以中间为轴,O(N/2)的时间复杂度 2. 注意UTF8的补充码,utf8的编码可能会占两个char空间 public AbstractStringBuilder reverse() { ...2014-12-29 14:07:48 · 582 阅读 · 0 评论 -
源码解读Spring IOC原理
转自 http://www.cnblogs.com/ITtangtang/p/3978349.html#a4 Spring:源码解读Spring IOC原理 Spring IOC设计原理解析:本文乃学习整理参考而来 一、 什么是Ioc/DI? 二、 Spring IOC体系结构 (1) BeanFactory (2) BeanDefinition 三、 Io...原创 2015-02-28 13:34:35 · 391 阅读 · 0 评论