摘要: 本文主要介绍MySQL里InnoDB引擎的索引。 在MySQL的InnoDB引擎里,索引以B+树的形式存储,数据都是存储在B+树里的。 主键索引和非主键索引 如下图所示,现在有一张表,这张表有两个字段、两个索引,其中id字段使用了主键索引,num字段使用了非主键索引。 主键索引和非主键索引的数据结构 阅读全文
posted @ 2021-03-13 18:45 Gouden 阅读(166) 评论(0) 推荐(0) 编辑
摘要: MySQL锁的类型 这里讲到的MySQL锁和锁的类型都是基于InnoDB来讲的。 共享锁和排他锁 共享锁(shared lock,简称S)允许多个读操作同时进行不相互影响,排他锁(exclusive lock,简称X)会阻塞其它排他锁请求,直到当前释放了锁。 意向锁 意向锁是InnoDB为了支持多个 阅读全文
posted @ 2021-03-06 23:57 Gouden 阅读(345) 评论(0) 推荐(0) 编辑
摘要: 事务的特性 ACID是事务应该具备的特性,一个标准的事务处理系统必须具备这些标准特征: A(atomicity)——原子性: 一个事务是不可被分割的单元,一个事务里的所有操作要么全部成功、要么全部失败,不可能只执行其中一部分 C(consistency)——一致性: 一个事务操作涉及的数据总是从一个 阅读全文
posted @ 2021-02-28 17:20 Gouden 阅读(244) 评论(0) 推荐(0) 编辑
摘要: MySQL总体分为客户端、服务端、存储引擎三层,整体架构图如下所示: 连接器 连接器的主要职责是建立连接、获取权限、维持和管理连接。 MySQL客户端连接到服务端时,会用客户端传来的账号、密码进行鉴权,如果账号密码有问题,这是会提示连接失败,如果账号密码没问题,连接器会用这个账号去权限表查询权限,这 阅读全文
posted @ 2021-02-27 22:32 Gouden 阅读(58) 评论(0) 推荐(0) 编辑
摘要: Spring Bean生命周期整体可分为以下几个阶段: Spring Bean元信息处理阶段 Spring Bean实例化阶段 Spring Bean初始化阶段 Spring Bean销毁阶段 Spring Bean垃圾收集阶段 Spring Bean生命周期处理是Spring应用上下文生命周期的一 阅读全文
posted @ 2021-02-18 22:05 Gouden 阅读(507) 评论(0) 推荐(1) 编辑
摘要: Spring应用上下文生命周期整体分成四个阶段 ConfigurableApplicationContext#refresh,加载或者刷新持久化配置 ConfigurableApplicationContext#start,启动应用上下文 ConfigurableApplicationContext 阅读全文
posted @ 2021-02-14 23:08 Gouden 阅读(615) 评论(0) 推荐(0) 编辑
摘要: 原文地址https://docs.google.com/document/d/1gY9-YNDNAB1eip-RTPbqphgySwSNSDHLq9D5Bty4FSU/edit QUIC是一个谷歌提出的新的互联网协议。 QUIC解决出现在现在网络协议的一些传输层和应用层的问题,而且几乎不需要应用更改 阅读全文
posted @ 2020-01-23 00:49 Gouden 阅读(770) 评论(0) 推荐(0) 编辑
摘要: 说到可重入锁,先从AQS的ConditionObject说起,AQS的内部类ConditionObject是构建显示锁条件队列的基础。之前AQS的解析没有说这个内部类,这里和ReentrantLock一起说一下。 1、AQS的内部类ConditionObject addConditionWaiter 阅读全文
posted @ 2018-06-20 15:45 Gouden 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 对AQS进行解析后,先来实现两个简单的基于AQS的类,然后再解析juc里基于AQS构造的类。 1、基于AQS的类的示例 首先先看这个类,这个类是《Java并发编程实战》的一个示例,AQS源码的注释里也给了类似的实现。这个类是以共享模式实现的,在调用signal之前,调用await方法的线程都将被阻塞 阅读全文
posted @ 2018-06-19 19:51 Gouden 阅读(414) 评论(0) 推荐(1) 编辑
摘要: AbstractQueuedSynchronizer简称为AQS,是juc里很基本的一个包,juc里很多工具类是基于AQS实现的,理解了AQS,其它很多juc工具类也会比较清楚了。 1、方法简述 getState 返回当前state的值,该操作具有volatile读的内存语义。 setState 设 阅读全文
posted @ 2018-06-18 21:48 Gouden 阅读(235) 评论(0) 推荐(0) 编辑