Loading

摘要: MySQL中的锁 InnoDB中锁与索引 锁是作用在索引上的. 只有SQL命中索引时,才触发锁. 没有命中索引,则使用表锁. 锁的分类 粒度锁: 表锁,行锁. 算法锁: 记录锁,间歇锁,临键锁. 属性锁: 共享锁,排它锁. 状态锁: 意向共享锁,意向排它锁. 表锁 上锁时锁住的是整个表. 下一个事务 阅读全文
posted @ 2020-07-02 14:59 战五渣渣渣渣渣 阅读(113) 评论(0) 推荐(0) 编辑
摘要: MySQL索引及其实现原理 初始索引 为什么有索引 一般情况下,读写比例为10:1左右,对查询操作的优化为重点,可以使用索引加速查询. 索引的原理 简介 通过不断缩小想要查找数据的范围筛选出最终想要的结果.将随机的事件变成顺序事件. 为什么不用简单的搜索树? 磁盘读取数据的时间=寻道时间+旋转延迟+ 阅读全文
posted @ 2020-07-02 14:57 战五渣渣渣渣渣 阅读(467) 评论(0) 推荐(0) 编辑
摘要: MySQL中的MVCC MVCC的概念 MVCC: Multi-Version Concurrency Control,即多版本并发控制. 是乐观锁的一种实现方式. 并发事务存在的问题: 更新丢失(Lost Update):多个事务同时更新同一行时,最后的更新会覆盖之前的更新。 脏读(Dirty R 阅读全文
posted @ 2020-07-02 14:56 战五渣渣渣渣渣 阅读(1742) 评论(0) 推荐(1) 编辑
摘要: LockSupport详解 简介 LockSupport用来创建锁或其他同步类的基本线程阻塞原语. 调用park()方法时,当前线程将等待,直到获取许可. 调用unpark()方法时,必须将等待获得许可的线程作为参数,使得等待的线程继续进行. 核心方法 Unsafe类的park和unpark Loc 阅读全文
posted @ 2020-07-02 14:55 战五渣渣渣渣渣 阅读(428) 评论(0) 推荐(0) 编辑
摘要: LinkedList详解 简介 LinkedList实现了List接口和Deque接口. 可以看作顺序容器,队列(Queue)和栈(Stack). 队列和栈首选ArrayDeque(当作栈,比Stack快;当作队列,比LinkedList快). 首尾添加或删除元素是常数时间(O(1)),和下标有关的 阅读全文
posted @ 2020-07-02 14:54 战五渣渣渣渣渣 阅读(471) 评论(0) 推荐(0) 编辑
摘要: JVM内存详解 Java虚拟机的运行时内存空间可以分成五个部分: 程序计数器 虚拟机栈 本地方法栈 堆 方法区 内存划分示意图: 程序计数器 作用 当前线程所执行的字节码的行号指示器。 通过改变程序计数器的值来选取下一条要执行的字节码指令。 程序的分支,跳转,循环,异常处理,线程恢复依赖于程序计数器 阅读全文
posted @ 2020-07-02 14:53 战五渣渣渣渣渣 阅读(363) 评论(0) 推荐(0) 编辑