- 博客(9)
- 收藏
- 关注
原创 线程池详解---线程复用、线程销毁
1.定义本文是基于jdk1.6对线程池(ThreadPoolExecutor)进行线程池执行Runnable任务主过程的剖析,jdk1.8及更高版本基本原理与1.6类似,但1.6主流程简单,没有进行太多优化,易于学习。在这里我们需要知道一些基本的常识,这是我们进行后续剖析源码的基础。1.1.多态public class People { public void say() ...
2019-10-05 16:29:55 5105 1
原创 mybatis-configuration容器(3)--结果映射器--resultMap
前面分享到第二个容器typeHandlerRegistry时中间穿插了hashmap的解析.现在回来继续mybatis系列.这一节分享mybatis结果映射的最重要的一个结构ResultMap结构. 前一节分享到typeHandler是用来映射某一个mysql列与java属性映射的处理器.我们的查询语句往往都会查询出很
2021-08-07 16:23:55 321
原创 hashmap源码详解
java语言除了数组外是没有任何现成的数据结构的,所有的数据结构都是jdk类库提供的,哈希表是一种数据结构,这种数据结构要求读写对应的时间复杂度必须为O(1),为了实现这个目的大家看下jdk大佬们是如何实现的吧,以及从jdk1.8只有做了哪些相应的改进.1.成员变量// 默认初始容量static final int DEFAULT_INITIAL_CAPACITY = 1 << 4;// 最大容量sta
2021-08-01 20:52:51 217
原创 HashMap扩容时的rehash方法中(e.hash & oldCap) == 0详解
hashmap在resize(扩容)的过程,需要创建一个新的桶数组,然后要将旧的桶数组中的数据重新分配的新的桶数组,其中有个旧数据在新桶数组寻址的过程,代码如下:// 当node的hash值 & 旧容量位 == 0时,这个数据是不需要换桶位置的if ((e.hash & oldCap) == 0) { if (loTail == null) loHead = e;
2021-07-25 17:37:53 1395
原创 mybatis-configuration容器(2)--类型处理注册表--TypeHandlerRegistry
这个handler的主要功能就是完成mysql的列值与java字段相互转换的处理器。那么这里就会出现两个种不同的的类型。mysql的列类型叫做jdbcType(由jdbc提供);java的字段类型叫做javaType(由jdk提供);首先我们先看一段熟悉的代码public static void main(String[] args) { Connection conn = DriverMan
2021-07-18 20:10:47 506
原创 mybatis-configuration容器(1)--别名注册表--TypeAliasRegistry
mybatis的别名注册表TypeAliasRegistry,也是mybatis管理的一个别名容器,同样也是存放在Configuration中的.别名的好处就是:当使用时不用再去写类的全限定名(包名.类名),使用简单的类名(全小写)即可.使用多见与以下场景:ResultMap中的type,resultType,ofType,javaType,typeHandler等属性。1.别名的注册1.1.别名注册详解 TypeAliasRegistry为Configuration的成员变量,当初始化Con
2021-07-11 20:56:34 292
原创 git-rebase多次冲突产生原因及解决办法
1.原因 git rebase需要解多次冲突的原因是因为***本地分支***【master】对文件A进行了n次commit,而别的分支【dev】对文件A进行了1次commit,但是***本地分支***【master】提交的n次commit都与【dev】分支的1次commit有冲突,那么当【master】分支对【dev】分支进行rebase的时候就会产生n次冲突。2.举例2.1.创建git仓库创建git仓库并创建空文件test.txt2.2.创建dev分支2.3.dev分支进行1次com
2020-11-30 09:38:50 16120 4
原创 JAVA正则解析Pattern.compile(regex)出现java.util.regex.PatternSyntaxException
斜体样式*@TOC欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新...
2018-12-11 14:40:12 3703
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人