小叶の博客
04
19
阻塞队列和线程池 阻塞队列和线程池
阻塞队列概念阻塞队列(BlockingQueue) 是一个支持两个附加操作的队列。这两个附加的操作是:在队列为空时,获取元素的线程会等待队列变为非空。当队列满时,存储元素的线程会等待队列可用。阻塞队列常用于生产者和消费者的场景,生产者是往队
2023-04-19
15
Java锁 Java锁
在程序世界中,Java 锁的最终目的都是为了保证线程安全,避免在并发场景下的资源竞争问题。但考虑适用场合和性能问题,就出现了各种 Java 锁 独占锁和共享锁从字面意思也能大概理解这两种锁的作用,独占锁是指该锁一次只能被一个线程所持有(独占
2023-04-15
13
Java集合线程不安全举例 Java集合线程不安全举例
Java 集合,也叫做容器,主要由两大接口派生而来: Collection接口(存放单一元素)、 Map 接口(存放键值对)。对于Collection 接口,有三个主要的子接口:List、Set 和 Queue。有关内容学习可以看 Java
2023-04-13
12
MySQL事务和SQL语句执行过程 MySQL事务和SQL语句执行过程
MySQL事务 事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败 控制事务一 查看/设置事务提交方式 SELECT @@autocommi
11
CAS和ABA问题 CAS和ABA问题
CAS 概念 CAS 的全称是 Compare-And-Swap,它是 CPU 并发原语,功能是判断内存某个位置的值是否为预期值,如果是则更改为新的值 CAS 并发原语体现在 Java 语言中就是 sun.misc.Unsafe 类的各个方
2023-04-11
10
MySQL索引 MySQL索引
索引(index)是帮助 MySQL 高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据, 这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引 索引
07
JMM内存模型和volatile关键字 JMM内存模型和volatile关键字
JMMJMM 的全称是 Java Memory Model,即 Java 内存模型。 一般来说,编程语言可以直接使用操作系统层面的内存模型。不过不同操作系统内存模型不同,如果直接使用操作系统层面的内存模型,就可能导致同样一套代码换了一个操作
2023-04-07