Java线程安全与匿名内部类
✅ 一、局部变量 vs 成员变量 特性 局部变量(方法内) 成员变量(类字段) 存储位置 栈(Stack) 堆(Heap,随对象存在) 默认值 ❌ 没有,默认必须显式初始化 ✅ 有(0, false, null 等) 生命周期 方法...
✅ 一、局部变量 vs 成员变量 特性 局部变量(方法内) 成员变量(类字段) 存储位置 栈(Stack) 堆(Heap,随对象存在) 默认值 ❌ 没有,默认必须显式初始化 ✅ 有(0, false, null 等) 生命周期 方法...
final 是 Java 中用于表达“不可变性”(Immutability)的关键字,可修饰变量、方法和类。其核心作用是限制变更,提升代码安全性与可读性。 1. final 修饰变量局部变量 必须在声明时或使用前显式初始化; 一旦赋值,不能重新赋值;...
01cookie、session、token的区别,以及使用场景 (为什么要用cookie、session、token,什么时候用)一、基本概念1. Cookie 定义:由服务器发送给客户端(浏览器)的一小段数据,浏览器会自动保存并在后续请求中...
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...