自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQL——redo log 与 binlog

一、重做日志(redo log)InnoDB 存储引擎会使用重做日志文件恢复到掉电前的时刻,以此来保证数据的完整性。采用 WAL(Write Ahead Log)策略,事务提交时,先写重做日志再修改页;每个 InnoDB 存储引擎至少有 1 个重做日志文件组(group),每个文件组下至少有 2 个重做日志文件(如默认的 ib_logfile0 和 ib_logfile1);可以设置多个镜像日志组,将不同的文件组放在不同磁盘上,以提高重做日志的高可用性;在日志组中每个重做日志文件大小一致,并以循

2022-02-28 15:56:12 1360

原创 MySQL——update 语句执行流程

图1 InnoDB 存储引擎体系架构

2022-02-10 11:25:18 3184

原创 InnoDB存储引擎——Checkpoint 机制

目录引子一、为什么需要 Checkpoint ?二、Checkpoint 简介参考资料引子缓冲池的设计目的为了协调 CPU 速度和磁盘速度的鸿沟。因此页的操作首先都是在缓冲池中完成的。如果一条DML语句,如 Update 或 Delete 改变了页中的记录,那么此时页是脏的,即缓冲池中的页的版本要比磁盘的新。数据库需要将新版本的页(脏页)从缓冲池刷新到磁盘。对于 InnoDB 存储引擎而言,其是通过 LSN(log Sequnence Number,8字节的数字,其单位是字节)来标记版本的。每个页

2022-01-04 09:13:49 1161 1

原创 初识 InnoDB存储引擎

目录一、InnoDB存储引擎概述二、体系架构内存缓冲池LRU列表、Free列表、Flush列表重做日志缓冲额外的内存池参考资料一、InnoDB存储引擎概述InnoDB 是事务安全的 MySQL存储引擎。支持行锁、MVCC、外键提供一致性非锁定读InnoDB存储引擎是基于磁盘存储的,并将其中的记录按照页的方式进行管理。因此可将其视为基于磁盘的数据库系统(Disk-base Database)。二、体系架构InnoDB 存储引擎有多个内存块,可以认为这些内存组成了一个大的内存池,负责如下工作

2021-12-15 14:24:10 1383

原创 MySQL索引种类简述

目录一、存储结构类型1、B+树索引2、Hash 索引二、逻辑类型1.普通索引2.唯一索引4.组合索引5.全文索引什么是索引?在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构。它是某个表中一列或若干列值的集合 和 相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。一、存储结构类型1、B+树索引B+Tree是在B-Tree基础上的一种优化,使其更适合实现外存储索引结构,InnoDB存储引擎

2021-11-30 15:01:34 1335

原创 简单总结ConcurrentHashMap

目录一、简介二、基本原理三、put 的具体实现四、get 的具体实现五、resize 的具体实现六、总结参考资料本文主要以 JDK1.8 版本来讨论一、简介为什么使用 ConCurrentHashMap?因为 HashMap 线程不安全,HashTable 几乎在每个方法上加了synchronized锁,从而导致效率较为低下。而 ConCurrentHashMap 采用CAS + synchronized 进行更加细粒的锁操作,性能相对来说比较高效。二、基本原理三、put 的具体实现四、get

2021-11-23 08:47:02 607

原创 HashMap基本原理

目录一、简介二、原理三、优势、缺点四、应用场景五、参考资料一、简介HashMap 是一个散列表二、原理三、优势、缺点四、应用场景五、参考资料

2021-11-05 17:09:45 259

原创 常见数据结构及应用场景

数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Tire树什么是数据结构?数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。一、数组有序排列的同类数据元素的集合称为数组。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。广义表(Lists,又称列表)是线性表的推广,其本质上非线性结构!...

2021-10-11 08:32:08 11182

原创 SpringBoot自动配置原理

SpringBoot 官方文档中有大量的配置,我们无法全部记住1、寻找配置目录1、进入启动类的@SpringBootApplication2、进入该注解下的@EnableAutoConfiguration3、进入@Import({AutoConfigurationImportSelector.class}) 里导入的 AutoConfigurationImportSelector类4、找到该类的 getAutoConfigurationEntry方法,进入getCandidateConfigur

2021-09-26 00:31:17 98

原创 初探线程池

什么是线程池?线程池中包含许多准备运行的线程。为线程池提供一个Runnable,就会有一个线程调用 run 方法。当 run 方法退出时,这个线程不会死亡,而是留在池中准备为下一个请求提供服务。一、线程池的流程用户通过使用线程池的execute方法将Runnable提交到线程池中进行执行。先判断线程池中的核心线程们是否空闲,如果空闲,就把这个新的任务指派给某一个空闲线程去执行。如果没有空闲,并且当前线程池中的核心线程数还小于 corePoolSize,那就再创建一个核心线程。如果线程池

2021-09-12 22:31:32 109

原创 常量池、运行时常量池、字符串常量池

什么是常量?用 final 修饰的成员变量表示常量,值一旦给定就无法改变!final 修饰的变量有三种,分别表示三种类型的常量。静态变量实例变量局部变量一、三种常量池描述符号引用是一组符号来描述所引用的目标,符号可以是任何形式的字面量。只要使用时能无歧义地定位到目标即可(它与直接引用区分一下,直接引用一般是指向方法区的本地指针,相对偏移量或是一个能间接定位到目标的句柄)。符号引用在执行某个类的解析阶段会替换成直接引用,详情看下图。二、三种常量池的关系三、方法区和常量池(cl

2021-09-06 00:16:33 599

原创 springcloud系列(三):Eureka 服务发现框架——集群

aa

2021-08-31 09:59:02 121

原创 springcloud系列(二):Eureka 服务发现框架——单机

一、简介Eureka 是 Netflix 开发的服务发现框架,本身是一个基于 REST 的服务,主要用于定位运行在 AWS 域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud 将它集成在其子项目 spring-cloud-netflix 中,以实现 SpringCloud 的服务发现功能。Eureka包含两个组件:Eureka ServerEureka ClientEureka ServerEureka Server 提供服务注册服务,各个节点启动后,会在

2021-08-15 23:45:00 254

空空如也

空空如也

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

TA关注的人

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