自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一条update语句都经历了些什么

一条update语句都经历了写什么Hi 大家好啊,还是我呀,上次我给你们介绍了我们mysql架构组织,现在我给大家讲一下如果一个update请求,会被mysql怎么处理。redo log 和 binlog基本介绍redo log 和 binlog区别update语句在数据库中是怎么执行的binlog的写入redo log的写入组提交机制change buffer基本介绍change buffer应用buffer pool取数据流程,mysql边读边发LRU算法一条sql语句突然慢了怎么办脏页、干净页什么时候

2020-08-31 15:37:09 391

原创 mysql基本结构

最近在看林晓斌老师的《mysql实战45讲》,由于每次看完我都不积累,导致我过了几天总会忘记之前看过的,所以现在将看过的整理一下,为了保证我下次回顾更轻松快一点,我决定将mysql类比成一个大公司,而我就是作在mysql公司搬砖的小员工来介绍。mysql的基本结构 首先需要介绍一下mysql这个大家伙,他就是我们的大工厂,我们都是为他打工的,我先说一下我们这些存储数据的公司们分为磁盘类型和内存类型的,一般内存类型的公司效率更高一些,你使用了他们家的产品可以达到很快的效果,但是呢我们这种基...

2020-08-19 11:44:49 1543 2

原创 链表

面试时链表解题的方法论1)对于笔试,不需要太在乎空间复杂度,一切为了时间复杂度2)对于面试,时间复杂度依然在第一位,一定要找到空间最省的方法重要技巧1)额外数据结构记录(哈希表)2)快慢指针反转单向链表(时间复杂度O(N),额外空间复杂度O(1))反转链表,链表变成D→C→B-→A思路:链表反转,A的next是B经过反转,B的next变成A,即A.next.next =A定义...

2020-03-18 22:37:32 164

原创 快速排序

荷兰国旗问题 1. 给定一个数组arr,和一个num,请把小于等于num的数放在数组的左边,大于num的数放在数组的右边,要求额外空间复杂度O(1),时间复杂度O(N) private static void partitionTwo(int[] arr, int num) { int left = -1; int cursor = 0; ...

2020-03-18 12:13:40 87

原创 认识不需要比较的排序

计数排序 计数排序不是一个比较排序算法,该算法于1954年由 Harold H. Seward提出,通过计数将时间复杂度降到了O(N)。 计数排序就是在数组中找到一个最大值,构建最大值+ 1长度的bucket数组,例如 1 2 3 4 9 ,最大值为9数组长度为10,为0留一个位置。然后遍历数组,根据数值放到bucket数组对应的index中,index个数+ 1,然后把bucket信息倒出来...

2020-03-18 12:05:09 578

原创 堆排序

堆堆结构就是用数组实现的完全二叉树完全二叉树如果子树最大值在顶部就是大根堆完全二叉树如果子树最小值都在顶部就是小根堆优先队列操作,就是堆操作堆排序1.先让整个数组都变成大根堆,建立堆过程。1) 从上到小下,时间复杂度为O(N*logN)2)从下到上的方法,时间复杂度为0(N)2. 把堆的最大值和堆末尾的值交换,然后减少堆的大小之后再去调整堆,一直周而复始,时间复杂度为O(N ...

2020-03-16 23:22:08 71

原创 归并排序

剖析递归行为和递归行为时间复杂度归并排序1)就是一个简单的递归,左边排好序,右边排好序,让其整体有序。2)分治算法,先分,再合已知数组[3,4,5,7,9.6,2,1]首先将数组拆分,得到多干个长度为2的数组,首先比较左边部分第一个分裂点。将数组按照mid切割,一个从左端0出发一个从mid+ 1出发,比较谁小就复制谁,3比4小 ,拷贝3,继续走发现3再走就超过mid了要越界了,跳...

2020-03-16 21:27:40 68

原创 认识时间复杂度为O(N ^ 2)的排序

时间复杂度 一个操作如果和样本的数量没有关系,每次都是固定时间内完成的操作叫做常数操作。 时间复杂度为一个算法流程中,常数操作数量的一个指标。在表达式。1. 插入排序 在小量数据中很占优势。插入排序从当前位置和左边的书比较,除非比到头了(到达0位置上的数)或者左边的数比当前数小,停止比较。4和4左边9比较,4比9小,交换位置。5和左边9比较,5比9小,交换位置 , 5比4大...

2020-03-16 17:49:57 144

原创 面试的细节题

平安面试也凉了,二面问了指定一个容量大小的map,怎么添加数据,性能消耗最低?答:初始大小/0.75,;loadfactor设置为1主键和唯一键区别,唯一键是否为nullmysql指定使用某种索引...

2020-03-02 09:44:18 171

原创 map原理

HashMap, ConcurrentHashMap,HashTable 的结构,在JDK 1.7 和1.8 中有什么不同其中抛弃了原有的Segment 分段锁,而采用了 CAS + synchronized 来保证并发安全性,这个put的过程很清晰,对当前的table进行无条件自循环直到put成功a. 判断Node[]数组是否初始化,没有则进行初始化操作b. 通过hash定位数组的索引...

2020-02-29 20:57:50 164

原创 一次面试引发的感悟

so sad啊今天,快手的面试一轮就凉了,问了spring的DispacherServlet原理,spring的对象管理方式,这些基础的spring知识,没有好好的复习而且在用的过程中只是会用,包括spring的生命周期都不知道,这是编码久了不动自己的脑子长期下来,没有主动自我的学习的能力迟早被淘汰,新东方和快手都问了索引的基本原理,之前准备mysql培训就是一知半解的还没理解透,这又是我的一...

2020-02-15 22:50:04 95

原创 一次数据库死锁的问题排查

一次死锁问题的排查由于外键导致的死锁问题排查问题排查LATEST DETECTED DEADLOCK初步分析由于外键导致的死锁问题排查使用jmeter 进行前端稳定性循环压测的时候分别进行模型的上线、下线、修改、共享、取消共享操作时出现了大量的死锁的异常。2019-06-18 15:00:47,086 [qtp2128665553-168] o.h.e.j.s.SqlExceptionHel...

2019-06-20 17:11:44 1323

空空如也

空空如也

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

TA关注的人

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