- 博客(9)
- 资源 (1)
- 收藏
- 关注
原创 【spring-tx】流程详解
子类进行填空即可,按父类定制的流程模板进行执行。常用的子类有 DataSourceTransactionManager , JdbcTransactionManager。
2025-01-13 16:07:32
144
原创 Mybatis源码剖析之插件Interceptor执行原理
初始化基础配置,比如MyBatis的别名等,一些重要的类型对象,如,插件,映射器,ObjectFactory和typeHandler对象,MyBatis所有的配置信息都维持在Configuration对象之中。对mybatis来说插件就是拦截器,用来增强核心对象的功能,增强功能本质上是借助于底层的 动态代理实现的,换句话说,MyBatis中的四大对象都是代理对象。下面是 插件机制的实现原理,首先是应用插件的4个地方,就是 4 大组件实例化的时候,遍历插件进行代理,然后把代理对象返回,这样就增强了。
2024-12-11 15:07:54
928
原创 Mybatis 查询语句流程分析
但方法作用域才是映射器实例的最合适的作用域。BaseStatementHandler: 所有子类的基类,模板方法模式,是在 prepare 方法内定义了创建 Statement 的步骤,抽象方法 instantiateStatement,留给 3 个子类来实现,分别获取不同类型的Statement 和 CallableStatement,还有 PreparedStatement。SqlSession 的实例不是线程安全的,因此是不能被共享的,所以它的最佳的作用域是请求或方法作用域。
2024-12-10 18:35:56
638
原创 JS数据结构:树
树(tree)形结构是一种重要的非线性结构,依据分支关系定义的层次结构,在这种结构中,每个元素至多只有一个前趋,但可以有多个后继。树的定义:树(Tree)是n(n 大于等于0)个节点的有限集合T,当n=0时称为空树,否则,称为非空树。常用的树形表示方法有: 1。集合嵌套法2.凹入表表示法 3.广义表表示法(A(B(E(k),F),C(G),D(H,I,J)) ...
2018-08-01 11:03:35
5030
原创 JS数据结构:哈希表
哈希表也被称为散列表,Hash表是一种特殊的数据结构,它同数组、栈、链表等相比较有很明显的区别,它能够快速定位到想要查找的记录,而不是与表中存在的记录的关键字进行比较来进行查找。
2017-09-18 23:54:26
8311
原创 JS数据结构:链表
数组不总是组织数据的最佳数据结构,原因如下。在很多编程语言中,数组的长度是固定的,所以当数组已被数据填满时,再要加入新的元素就会非常困难。在数组中,添加和删除元素也很麻烦,因为需要将其他元素向前或向后平移。然后JavaScript的数组并不存在上述问题,因为使用splice()方法不需要再访问数组中其他元素了。
2017-09-17 23:51:23
408
原创 JS数据结构: 队列
与栈一样,队列(Queue) 也是线性表的一种特殊情况,与栈不同的是:队列是限制在两端进行操作的线性表,只允许在一端进行插入数据元素,而另一端删除数据元素,是先进先出(FIFO,fist in first out) 模式。
2017-09-13 23:58:30
576
原创 JS数据结构开篇:线性表和栈
港真,,,学完数据结构,你会发现自己的代码阅读能力会提升很大一截,看别人优秀的代码或者开源的项目时候会显得游刃有余。过去的数据结构大都是用C语言进行讲解的,此系列文章我将采用JavaScript(暂时采用ES5)语言来书写,如果你准备学习数据结构或者正在学习JavaScript,那么开始吧,这里数据结构和JavaScript都有了。1.线性表线性表又称列表,日常使用的列表如:代办事项清
2017-09-12 21:46:29
526
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人