09 2022 档案
摘要:第二章 Jvm运行时数据区:程序计数器,java虚拟机栈,本地方法栈,堆,方法区。线程共享的区域:堆,方法区。其余都是线程隔离的 程序计数器:记录的是当前线程正在执行的虚拟机字节码指令的地址。特点:1)线程私有,一个处理器某一时刻只会执行一条线程,为了线程切换后能恢复到正确的执行位置,每条线程都需要
阅读全文
摘要:ThreadLocal是一个数据结构,有点像HashMap,可以保存key-value键值对,但是一个ThreadLocal只能保存一个,并且各个线程的数据互不干扰。ThreadLocal为变量在每个线程中都创建一个副本。 在线程1中初始化了一个ThreadLocal对象localName,并通过s
阅读全文
摘要:原文链接:https://zhuanlan.zhihu.com/p/107939861 什么是分布式ID? 拿MySQL数据库举个例子:在我们业务数据量不大的时候,单库单表完全可以支撑现有业务。但随着数据日渐增长,需要对数据库进行分库分表,但分库分表后需要有一个唯一ID来标识一条数据,数据库的自增I
阅读全文
摘要:https://segmentfault.com/a/1190000022839728 悲观锁介绍 悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中, 将数据处于锁定状态。比如如下场景中: 1、select st
阅读全文
摘要:击穿,穿透,雪崩都是在高并发前提下,当缓存中某一个热点key过期或key被淘汰导致的 1、缓存击穿 穿透和雪崩针对的是大面积数据请求,击穿是一个key导致的redis异常。但某个key是非常热点,请求非常频繁,处于集中式访问现象,当这个key失效(过期)时,大量的请求就会直接请求数据库,不同场景下缓
阅读全文