彬子的Blog
博客
分类
标签
归档
关于
博客
分类
标签
归档
关于
Volantis
项目
笔记
专栏
博客
社区
源码
MySqL事务特性,隔离级别
MySqL事务隔离级别 事务的特性: 原子性:事务要么全部提交成功要么全部失败 一致性:事务操作前和操作后具有完整性约束,数据库保持一致性状态 隔离性:事务执行时相互隔离互不影响,可以防止多个事务并发执行由于交叉执行导致的不一致 持久性:事务操作结束后修改是永久性的,即使关机故障也不会消失 MySQL InnoDB 引擎通过什么技术来保证事务的这四个特性的呢? 持久性是通过 redo lo...
2026-04-07
数据库
数据库
MySQL
事务
MySQL
事务
阅读全文
Redis的ziplist到ListPack
Redis的压缩列表ziplist到紧凑列表listpack ziplist 的结构(老版本用的) 大概长这样: 12345[zlbytes][zltail][zllen][entry1][entry2]...[entryN][0xFF]● *zlbytes*,记录整个压缩列表占用对内存字节数;● *zltail*,记录压缩列表「尾部」节点距离起始地址由多少字节,也就是列表尾的偏移量;● *...
2026-04-07
数据库
数据库
Redis
数据结构
Redis
数据结构
阅读全文
HotSpot 垃圾收集器
HotSpot 垃圾收集器 HotSpot 虚拟机提供了多种垃圾收集器,每种收集器都有各自的特点,虽然我们要对各个收集器进行比较,但并非为了挑选出一个最好的收集器。我们选择的只是对具体应用最合适的收集器。 新生代垃圾收集器 Serial 垃圾收集器(单线程) 只开启一条 GC 线程进行垃圾回收,并且在垃圾收集过程中停止一切用户线程,即 Stop The World。 一般客户端应用所需内存较...
2026-04-07
Java
Java
JVM
Java
垃圾收集
Java
JVM
垃圾收集
阅读全文
AIO BIO NIO区别?
AIO BIO NIO区别? BIO(同步阻塞 I/O) BIO 是传统的 I/O 模式,全称为 Block I/O,也叫同步阻塞 I/O。在 BIO 模式下,当我们执行 I/O 操作时,比如读取文件或者网络请求,程序会 阻塞,直到 I/O 操作完成后,才能继续执行后面的代码。也就是说,当一个线程在等待 I/O 完成时,它是处于阻塞状态的,不能做其他事情。 NIO(同步非阻塞 I/O) 一个...
2026-04-07
Java
Java
IO
Java
Java
IO
阅读全文
Redis网络模型
Redis网络模型(io多路复用) 阻塞IO(Blocking IO) 假设服务端只开启一个线程处理请求,第一个请求到来,开始调用内核read函数,然后就会发生阻塞,第二个请求到来时服务端将无法处理,只能等第一个请求读取完成。这种方式的缺点很明显,每次只能处理一个请求,无法发挥cpu多核优势,性能低下。 为了解决这个问题,我们可以引入多线程,这样就可以同时处理多个请求了,但服务端可能同时有成...
2026-04-07
数据库
数据库
IO多路复用
Redis
网络模型
Redis
网络模型
IO多路复用
阅读全文
ConcurrentHashMap底层原理
ConcurrentHashMap底层原理 jdk1.7是数组加链表,它在对象中保存了一个Segment数组。每个Segment元素类似于一个Hashtable;这样,在执行put操作时首先根据hash算法定位到元素属于哪个Segment,然后对该Segment加锁即可,不同的Segment可以并发put。而Segment的锁实现其实是ReentrantLock jdk1.8则是采用了数组+...
2026-04-07
Java
Java
Java
并发
集合
Java
集合
并发
阅读全文
SpringIOC
什么是 IoC? IoC (Inversion of Control )即控制反转/反转控制。它是一种思想不是一个技术实现。描述的是:Java 开发领域对象的创建以及管理的问题。 例如:现有类 A 依赖于类 B 传统的开发方式 :往往是在类 A 中手动通过 new 关键字来 new 一个 B 的对象出来 使用 IoC 思想的开发方式 :不通过 new 关键字来创建对象,而是通过 IoC 容...
2026-04-07
Java
Java
DI
IOC
Spring
Spring
IOC
DI
阅读全文
HashMap
HashMap JDK 7 中 HashMap 的数据结构是数组+链表。 JDK 8 中 HashMap 的数据结构是数组+链表+红黑树。 它在链表长度大于8且数组长度大于64时候会把链表转换成红黑树 HashMap 的初始容量是 16,随着元素的不断添加,HashMap 就需要进行扩容,阈值是capacity * loadFactor,capacity 为容量,loadFactor 为负...
2026-04-07
Java
Java
HashMap
Java
集合
Java
集合
HashMap
阅读全文
Volatile原理
Volatile原理
2026-04-07
Java
Java
Java
Volatile
并发
Java
并发
Volatile
阅读全文
MySQL 联合索引的最左匹配原则
MySQL 联合索引的最左匹配原则 执行计划基础知识 possible_keys:可能用到的索引 key:实际用到的索引 type: ref:当通过普通的二级索引列与常量进行等值匹配的方式 询某个表时 const:当我们根据主键或者唯一得二级索引列与常数进行等值匹配时,对单表的访问方法就是 const range:如果使用索引获取某些单点扫描区间的记录。 index:当可以使用覆盖 ,但需...
2026-04-07
数据库
数据库
MySQL
索引
MySQL
索引
阅读全文
上一页
2 / 11
下一页