自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 我的架构梦:(三)MyBatis源码分析
原力计划

mybatis的源码分析一、传统方式源码分析二、Mapper代理方式源码分析三、mybatis源码中涉及到的设计模式一、传统方式源码分析分析之前我们来回顾下传统方式的写法:/** * 传统方式 */public void test1() throws IOException { // 1. 读取配置文件,读成字节输入流,注意:现在还没解析 InputStream resourceAsStream = Resources.getResourceAsStream("mybatis-confi

2020-05-30 00:19:03 975

原创 我的架构梦:(二)MyBatis的一级、二级、分布式缓存的应用以及源码分析
原力计划

mybatis的一级、二级、分布式缓存的应用以及源码分析一、mybatis缓存二、一级缓存三、一级缓存源码分析四、二级缓存五、二级缓存整合redis六、二级缓存整合redis源码分析一、mybatis缓存缓存就是内存中的数据,常常来自对数据库查询结果的保存。使用缓存,我们可以避免频繁与数据库进行交互,从而提高响应速度。mybatis 也提供了对缓存的支持,分为一级缓存和二级缓存,来看下下面这张图:1、一级缓存是SqlSession级别的缓存。在操作数据库时需要构造SqlSession对象,在对象中

2020-05-26 22:05:05 453

原创 我的架构梦:(一)手写MyBatis框架
原力计划

手写mybatis框架一、前言二、JDBC问题分析三、自定义框架实现四、自定义框架优化五、代码仓库一、前言在手写mybatis框架之前 ,我们先来思考一下这个问题:为啥要有mybatis框架存在?它是为了解决什么问题的?我们带着这两个问题来开始我们手写mybatis框架之旅。我们刚开始搞java的时候,貌似都知道用jdbc去连接数据库,那我们来看一下jdbc连接数据库的代码:public static void main(String[] args) { Connection conn =

2020-05-24 01:12:57 792 2

原创 SpringBoot项目中定时任务删除时间大于30天的文件及文件夹

1、首先要先写定时任务,之前有一篇写过定时任务的文章,没有看的可以点击下面的链接看一下:SpringBoot项目中集成Quartz实现定时调度任务定时任务编写好了,剩下的就简单了。2、编写删除时间大于30天的文件及文件夹的方法public class DeleteExpiredFile { private static final String ROOT_DIR_HISTORY_PATH = "/data"; public void deleteExpiredFileTask(

2020-05-19 19:36:27 1109

原创 数据结构与算法分析:(十六) 平衡二叉树
原力计划

一、前言前面我们讲了二叉树以及二叉查找树,没有看的可以点击下面的链接看一下:数据结构与算法分析:(十四) 二叉树数据结构与算法分析:(十五) 二叉查找树看完前两篇,今天的平衡二叉树就如鱼得水一般了。下面我们就进入正题了。平衡二叉树也叫AVL(Adelson Velskii 和 Landis 三人的缩写),AVL树的出现就是为了解决前面二叉查找树退化成链表导致时间复杂度为 O(n)。AVL树是高度平衡的而二叉树,必须保证树的深度是 O(log⁡n\log nlogn)。它的特点是:AVL树中任何节点

2020-05-13 21:43:51 380 4

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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