Lucky-gril
积少成多,每天进步一点点。
摘要: 叶子节点存数据记录,根节点存索引,加速查询 总结 数据库索引用于加速查询 虽然哈希索引是O(1),树索引是O(log(n)),但SQL有很多“有序”需求,故数据库使用树型索引(B+树) InnoDB不支持哈希索引 数据预读的思路是:磁盘读写并不是按需读取,而是按页预读,一次会读一页的数据,每次加载更 阅读全文
posted @ 2018-10-19 18:34 Lucky-gril 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 并发编程中有三个问题:原子性,可见性和有序性。 原子性:即一个操作或者多个操作要么全部执行且执行过程中不会被打断,要么就都不执行。 可见性:指多个线程访问同一变量时,一个线程修改了变量值,其他线程能够立即看到修改的值。 有序性:有序性指程序执行的顺序按照代码的先后顺序执行。 volatile不能保证 阅读全文
posted @ 2018-10-19 17:14 Lucky-gril 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 乐观锁 每次获取数据的时候,都不会担心数据被修改,所以每次获取数据的时候都不会进行加锁,但是在更新数据的时候需要判断该数据是否被别人修改过。如果数据被其他线程修改,则不进行数据更新,如果数据没有被其他线程修改,则进行数据更新。由于数据没有进行加锁,期间该数据可以被其他线程进行读写操作。一般使用ver 阅读全文
posted @ 2018-10-19 16:18 Lucky-gril 阅读(8303) 评论(0) 推荐(0) 编辑
摘要: 1.Hashtable是线程安全,而HashMap则非线程安全。 Hashtable的实现方法里面都添加了synchronized关键字来确保线程同步,因此相对而言HashMap性能会高一些,我们平时使用时若无特殊需求建议使用HashMap,在多线程环境下若使用HashMap需要使用Collecti 阅读全文
posted @ 2018-10-19 15:41 Lucky-gril 阅读(360) 评论(0) 推荐(0) 编辑