摘要:
最近,同事在生产上遇到一个 MySQL 死锁的问题,于是在帮忙解决问题后,特意花了一周的时间,把 MySQL 所有的锁都整理了一遍,今天就来一起聊聊 MySQL锁。 申明:本文基于 MySQL 8.0.30 版本,InnoDB 引擎 MySQL 数据库锁设计的初衷是处理并发问题,保证数据安全。MyS 阅读全文
posted @ 2022-11-16 17:49
白露~
阅读(415)
评论(0)
推荐(1)
|
摘要:
最近,同事在生产上遇到一个 MySQL 死锁的问题,于是在帮忙解决问题后,特意花了一周的时间,把 MySQL 所有的锁都整理了一遍,今天就来一起聊聊 MySQL锁。 申明:本文基于 MySQL 8.0.30 版本,InnoDB 引擎 MySQL 数据库锁设计的初衷是处理并发问题,保证数据安全。MyS 阅读全文
posted @ 2022-11-16 17:49
白露~
阅读(415)
评论(0)
推荐(1)
摘要:
本文简单总结 mvcc在不加锁的情况下解决了脏读、不可重复读和快照读下的幻读问题,一定不要认为幻读完全是mvcc解决的 对当前读、快照读理解,简单点说加锁就是当前读,不加锁的就是快照读。 mvcc实现的三大要素俩个隐式字段、回滚日志、read-view 俩个隐式字段:DB_TRX_ID:记录创建这条 阅读全文
posted @ 2022-11-16 15:39
白露~
阅读(305)
评论(0)
推荐(0)
摘要:
前言 在了解索引覆盖前,我们先来看下,聚集索引,非聚集索引,回表等概念. 什么是聚集索引 聚集索引是按照每张表的主键构造一颗B+树,同时叶子节点中存放的就是整张表的行记录数据,也将聚集索引的叶子节点称为数据页。这个特性决定了索引组织表中数据也是索引的一部分 主键被定义了,那么这个主键作为聚集索引 主 阅读全文
posted @ 2022-11-14 11:41
白露~
阅读(222)
评论(0)
推荐(0)
摘要:
文章目录 MaxTenuringThreshold参数讲解 MaxTenuringThreshold代码实战 MAXTENURINGTHRESHOLD参数讲解 在GC回收的时候. 如下图详解 From 区和To区 会来回的复制和交换位置. 每交换一次,就会增加一次年龄. 默认交换了15次, 就会从新 阅读全文
posted @ 2022-11-07 16:56
白露~
阅读(518)
评论(0)
推荐(0)
摘要:
本文约7300字,完整阅读大概会花费你「15分钟」左右的时间 什么是 JMM? JMM 就是 Java 内存模型(java memory model)。 JMM 是一个抽象的概念,并不像 JVM 内存结构一样真实存在。它描述的是和多线程相关的一组规范,需要各个 JVM 的实现来遵守 JMM 规范,以 阅读全文
posted @ 2022-09-29 15:48
白露~
阅读(4424)
评论(1)
推荐(2)
摘要:
happens-before是JMM最核心的概念。对应Java程序员来说,理解happens-before是理解JMM的关键。 学习了 Java并发机制底层实现的三个关键要素:volatile、synchronized、原子性操作。以及Java内存模型是为了解决在并发环境下由于 CPU缓存、编译器和 阅读全文
posted @ 2022-09-23 17:17
白露~
阅读(162)
评论(0)
推荐(0)
摘要:
happens-before 规则含义: happens-before原则是JMM最核心的概念,理解happens-before是理解JMM的关键。 JMM为了使编译器和处理器的约束尽可能少,它遵循的原则是:只要不改变程序的执行结果,编译器和处理器想怎么优化就怎么优化。 happens-before 阅读全文
posted @ 2022-09-23 17:14
白露~
阅读(277)
评论(0)
推荐(0)
摘要:
1、length() 字符串的长度 例:char chars[]={'a','b'.'c'}; String s=new String(chars); int len=s.length(); 2、charAt() 截取一个字符 例:char ch; ch="abc".charAt(1); 返回'b' 阅读全文
posted @ 2022-09-22 13:48
白露~
阅读(433)
评论(0)
推荐(0)
摘要:
这个特性是JDK9放出来的,主要是为了节约String占用的内存。 众所周知,在大多数Java程序的堆里,String占用的空间最大,并且绝大多数String只有Latin-1字符,这些Latin-1字符只需要1个字节就够了。JDK9之前,JVM因为String使用char数组存储,每个char占2 阅读全文
posted @ 2022-09-22 10:38
白露~
阅读(440)
评论(0)
推荐(1)
摘要:
String 对象的实现 String对象是 Java 中使用最频繁的对象之一,所以 Java 公司也在不断的对String对象的实现进行优化,以便提升String对象的性能,看下面这张图,一起了解一下String对象的优化过程。 1. 在 Java6 以及之前的版本中 String对象是对 cha 阅读全文
posted @ 2022-09-22 10:07
白露~
阅读(72)
评论(0)
推荐(0)
|