• MySQL的B-Tree和Hash索引

    MySQL主要提供2种方式的索引:B-Tree索引,Hash索引   B树索引具有范围查找和前缀查找的能力,对于有N节点的B树,检索一条记录的复杂度为O(LogN)。相当于二分查找。   哈希索引只能做等于查找,但是无论多大的Hash表,查找复杂度都是O(1)。   显然,如果值的差异性大,并且以等值查找(=、 <、>、in)为主,Hash索引是更高效的选择,它有O(1)的查找复杂度。  ...
    作者:孤风一剑/2019年3月13日/分类:数据库开发/阅读:68次//评论关闭
  • java虚拟机学习总结

    前言 最近流行一句话,我们须要明白我们从哪里来,要到哪里去。我学习使用jvm也是一样,不但会使用,也需要深入jvm原理,才能更好利用它。 了解jvm运行的内存分配。与为什么jvm会抛出OutOfMemoryError。 需要熟悉GC回收算法,目前有的垃圾回收器。是我们优化jvm的的前提。 学习jvm让我们更加深入了解java程序的运行,也提高自己在解决问题能力。也明白在app生产运维我们如...
    作者:孤风一剑/2017年4月19日/分类:Java开发/阅读:182次/标签:, /评论关闭
  • java并发锁ReentrantReadWriteLock读写锁源码分析

    1、ReentrantReadWriterLock基础 所谓读写锁,是对访问资源共享锁和排斥锁,一般的重入性语义为 如果对资源加了写锁,其他线程无法再获得写锁与读锁,但是持有写锁的线程,可以对资源加读锁(锁降级);如果一个线程对资源加了读锁,其他线程可以继续加读锁。 java.util.concurrent.locks中关于多写锁的接口:ReadWriteLock [java] view plain copy public interfac...
    作者:孤风一剑/2016年11月22日/分类:Java开发/阅读:775次/标签:, , /评论关闭