自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 Mybatis执行sql过程源码解读

1.SqlSession.openSession()创建了Executor对象(真正的sql执行者),这个对象有两大类普通Executor和CacheExecutor(实现二级缓存),BaseExecutor实现一级缓存。如果配置了插件,在创建Executor的过程中会创建Executor的代理。

2023-02-08 17:58:52 257

原创 Mybatis二级缓存实现

Mybatis默认开启一级缓存,一级缓存的作用域是SqlSession.Mybatis二级缓存需要在XXXMapper.xml文件中配置节点,可以到Mybatis官网查看具体配置。二级缓存通过责任链+装饰器来实现。通过装饰器包装特定功能的Cache,实现缓存功能的增强。调用缓存方法时,通过责任链,一层一层调用。

2023-02-08 11:18:59 231

原创 MyBatis源码解析--Mybatis解析配置文件

Mybatis是一个半自动的ORM框架(O-Object R-relation M-mapping)。编写sql灵活,支持注解和xml配置。使用它代替传统的JDBC交互数据库,解决了硬编码等问题。说他是一个半自动ORM框架是因为在数据库移植的时候需要我们手动修改Sql和配置文件。与它对应的Hibernate是一个全自动ORM框架。

2023-02-07 10:36:17 126

原创 HashMap的容量与扩容

HashMap的容量和扩容主要涉及到size、capacity、loadFctor、threshold几个参数,其中size是map已经存储KV对的数量。capacity是map最大可以存放的数量。loadFacotr用来控制map放满的程度,可以自己设置但是一般使用默认的即可(0.75即3/4,这个值还有一个优点就是loadFactor*capacity一直是整数)。当map中KV对的数量超过threshold时map会扩容,扩容为旧容量的2倍。业精于勤,荒于嬉;行成于思,毁于随。

2023-02-03 15:26:56 1083 1

空空如也

空空如也

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

TA关注的人

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