摘要: 一、脏读(读到未提交的数据) 在理解脏读之前,需要理解脏数据的概念。 脏数据是指事务对缓冲池中行记录的修改,并且还没有提交。 注意脏数据和脏页是完全不同的两种概念, 脏页 指的是在缓冲池中已经被修改的页,但是还没有刷新到磁盘中,即数据库实例内存中的页和磁盘中的页的数据不一致。脏页的读取是非常正常的, 阅读全文
posted @ 2019-10-17 10:51 渝丶渝然 阅读(1058) 评论(0) 推荐(0) 编辑
摘要: 一、JDK1.7中HashMap扩容死锁问题 我们首先来看一下JDK1.7中put方法的源码 我们打开 方法如下,它会判断数组当前容量是否已经超过的阈值,例如假设当前的数组容量是16,加载因子为0.75,即超过了12,并且刚好要插入的索引处有元素,这时候就需要进行扩容操作,可以看到 扩容大小是原数组 阅读全文
posted @ 2019-10-16 21:46 渝丶渝然 阅读(1456) 评论(0) 推荐(1) 编辑
摘要: 一、HashMap底层数据结构 JDK1.7及之前:数组+链表 JDK1.8:数组+链表+红黑树 关于HashMap基本的大家都知道,但是为什么数组的长度必须是2的指数次幂,为什么HashMap的加载因子要设置为0.75,为什么链表长度大于等于8时转成了红黑树? HashMap添加元素分析 当添加元 阅读全文
posted @ 2019-10-13 18:24 渝丶渝然 阅读(30763) 评论(4) 推荐(2) 编辑