ThreadLocal详解
ThreadLocal结构ThreadLocal 的设计在 Java 中是为了实现线程隔离,让每个线程拥有自己的私有变量副本,避免多个线程访问共享数据时的竞争和同步问题。它背后的核心思想是 线程本地存储,即每个线程都可以独立存储自己的数据,线程之间不...
ThreadLocal结构ThreadLocal 的设计在 Java 中是为了实现线程隔离,让每个线程拥有自己的私有变量副本,避免多个线程访问共享数据时的竞争和同步问题。它背后的核心思想是 线程本地存储,即每个线程都可以独立存储自己的数据,线程之间不...
Spring Bean 的生命周期其实就是 一个 Bean 从创建、初始化、使用、销毁 的完整过程。Spring 容器(ApplicationContext)在管理 Bean 的过程中,会按照固定的流程来操作。下面我给你按顺序梳理一下: 1. 实例...
当一张表数据量达到 2亿条 以上时,即使有主从库,也可能遇到以下问题: 查询变慢,索引树过大,点查延迟明显。 批量写入、归档效率低。 表结构变更(DDL)风险高。 这时,就需要考虑 水平拆分(分库/分表)。本文结合一个“点查为主”的业务...
缓冲池与数据页缓冲池(buffer pool):主内存中的一个区域,里面可以缓存磁盘上经常操作的真实数据,在执行增删改查操作时,先操作 缓冲池中的数据(若缓冲池没有数据,则从磁盘加载并缓存),以一定频率刷新到磁盘,从而减少磁盘IO,加快处理速度 数...
1.定义一个限流注解,方便AOP调用12345678910111213141516171819202122232425262728293031@Target(ElementType.METHOD) @Retention(RetentionPolic...
布隆过滤器的核心思想是: 使用一个大的 位数组(BitSet) 使用 多个哈希函数(HashFunction) 插入元素时,对元素进行多次哈希并将对应的位数组位置置为true(遍历哈希函数,便于使用不同的种子来把一个要哈希的对象变为多个int值放入...
首先HashMap是初始容量为 16,负载因子为 0.75,则扩容阈值为 16 × 0.75 = 12。当存入第 13 个元素时,HashMap 就会触发扩容。当触发扩容时,HashMap 的容量会扩大为当前容量的两倍。例如,容量从 16 增加到 3...
题目2020 年春节期间,有一个特殊的日期引起了大家的注意:2020 年 2 月 2 日。因为如果将这个日期按 “yyyymmdd” 的格式写成一个 8 位数是 20200202,恰好是一个回文数。我们称这样的日期是回文日期。 有人表示 202002...
三门问题(Monty Hall problem)是一个有关于博弈论的趣味数学问题。问题名字来自美国的电视游戏节目Let’s Make a Deal的主持人蒙提·霍尔(Monty Hall)。参赛者会看见三扇关闭了的门,其中一扇的后面有一辆汽车,选中...