摘要: Java各种锁详解 Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率。本文旨在对锁相关源码(本文中的源码来自JDK 8)、使用场景进行举例,为读者介绍主流锁的知识点,以及不同的锁的适用场景。 Java中往往是按照是否含有某一特性来定义锁,我们通过特性将锁进行分组 阅读全文
posted @ 2021-09-11 09:30 荒唐hh 阅读(3216) 评论(0) 推荐(0)
摘要: MYSQL事务之ACID实现原理 我们都知道MySQL事务的ACID,但是按照严格的标准,只有同时满足ACID特性才是事务;但是在各大数据库厂商的实现中,真正满足ACID的事务少之又少。例如MySQL的NDB Cluster事务不满足持久性和隔离性;InnoDB默认事务隔离级别是可重复读,不满足隔离 阅读全文
posted @ 2021-09-10 16:38 荒唐hh 阅读(769) 评论(0) 推荐(0)
摘要: 深入理解Mysql索引之B+Tree 1、索引是什么?索引的工作机制是什么 索引是为了加速对表中数据加速检索的一种分散存储的数据结构,旨在索引中返回查找的数据或者指向数据的指针 在上表中,如果没有索引,我们通过select * from user where id = 40需要进行全表扫描,如果有索 阅读全文
posted @ 2021-09-10 16:37 荒唐hh 阅读(491) 评论(0) 推荐(0)
摘要: 深入理解HashMap HashMap的数据结构 1、JDK1.8之前,HashMap的数据结构是数组+链表的结构 2、JDK1.8开始,HashMap的数据结构为一个散列表(数组+链表+红黑树) 数组:查询快,但是增删操作效率慢 链表:增删快(只需修改前后节点的指向),但是查询慢(每次查询都会从头 阅读全文
posted @ 2021-09-03 13:20 荒唐hh 阅读(248) 评论(0) 推荐(0)