自定义博客皮肤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)
  • 收藏
  • 关注

原创 浅谈MySQL 架构与内部模块(万字长文干货)

一条查询 SQL 语句是如何执行的? 首先,数据是存储在 MySQL 服务端的。应用程序或者工具都是客户端。客户端要读写数据库,第一步要跟数据库建立连接。1.1. 通信协议1.1.1.通信协议通信类型:同步或者异步一般来说客户端连接数据库都是同步连接。连接方式:长连接或者短连接MySQL 既支持短连接,也支持长连接。一般来说都是长连接,而且会把这个连接放到客户端的连接池。可以用 show status 命令查看 MySQL 当前有多少个连接show gl..

2021-03-10 11:00:09 306 1

原创 JUC线程池ThreadPoolExecutor源码分析

juc线程池底层原理分析,源码讲解

2024-05-12 13:33:17 1592

原创 ReentrantReadWriteLock 源码debug详解

ReentrantReadWriteLock 源码debug详解

2024-04-29 23:35:32 1346 1

原创 ReentrantLock获取锁失败线程入队阻塞与唤醒流程解析

首先会判断state是否=0,在线程1获取到锁的时候,state值就已经被改为1,此处判断不成立,来到else逻辑,再判断独占线程是否是当前线程,如果是,则state+1此时便实现了可重入的逻辑;1.先获取当前线程1对应的Node节点的前驱节点,也就是头节点;1.第一次循环tail为null,进入if条件中,通过CAS把构建了一个头节点Node@698,同时把头节点赋值给了尾节点,即节点Node@698既是头节点也是尾节点;随后释放锁,唤醒线程2,获取锁执行业务代码,释放锁的逻辑也与前面一致,就不再展开;

2024-04-27 15:51:34 1749

原创 深入理解MySQL索引(万字长文干货)

MySQL 索引深入剖析1. 索引是什么数据库索引,是数据库管理系统(DBMS)中一个排序的数据结构,以协助快速查询更新数据库表中数据。图解索引数据是以文件的形式存放在磁盘上面的,每一行数据都有它的磁盘地址。如果没有索引的话,我们要从 500 万行数据里面检索一条数据,只能依次遍历这张表的全部数据(循环调用存储引擎的读取下一行数据的接口),直到找到这条数据。但是我们有了索引之后,只需要在索引里面去检索这条数据就行了,因为它是一种特殊的专门用来快速检索的数据结构,我们找到数据存放的磁盘..

2021-03-10 17:36:26 297 1

空空如也

空空如也

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

TA关注的人

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