240 发简信
IP属地:山西
  • 120
    二叉搜索树BST

    一、概述 二叉搜索数又叫二叉排序树相比于普通的二叉树,其左节点都小于父节点,右节点都大于父节点。具有快速插入删除查找的特点。类似如下 二、添加操作 二叉树的添加节点的操作思想...

  • 案例一没问题么,不是说唯一索引退化成行锁吗,怎么还说锁的是(5,10)呢

    间隙锁和next-key lock

    本篇作为学习笔记,文章内容来自“极客时间”专栏《MySQL实战45讲》,如有侵权,请告知,必即时删除。 为了便于说明问题,建表和初始化语句如下: 行锁只能锁住行,但是新插入记...

  • initTable方法中,有一个cas操作,U.compareAndSwapInt(this, SIZECTL, sc, -1)将sc变成-1,之后 int n = (sc > 0) ? sc : DEFAULT_CAPACITY;这样的话,那岂不是不管传参或者不传参初始化都会把长度初始化成DEFAULT_CAPACITY长度嘛??

    深入浅出ConcurrentHashMap1.8

    简书 占小狼转载请注明原创出处,谢谢! 关于文章中的疑问:为什么要构造一个反序链表,放在nextTable的i+n的位置上呢,在《深入分析ConcurrentHashMap1...

  • 120
    HashMap就是这么简单【源码剖析】

    前言 声明,本文用得是jdk1.8 前面已经讲了Collection的总览和剖析List集合以及散列表、Map集合、红黑树的基础了: Collection总览 List集合就...

  • 如何判断链表是否是循环链表

    快慢指针法 设置两个指针fast和slow,都指向头节点,一个一次移动两次,一个一次移动一次,如果,有一个时刻,他们两个相遇了,或者fast的next是slow(fast跑到...

  • Java集合 - HashMap - JDK1.8

    HashMap HashMap是以键值对进行存储的集合,其中键值是唯一的,HashMap是无序的。 改变 1.7版本的HashMap使用的数组+链表的存储方式。 1.8版本的...

  • 120
    Java集合 - ArrayList

    ArrayList ArrayList集合是我们平时使用相当多的集合了,本文是我学习ArrayList的源码,对于ArrayList源码相关方法实现的记录。 ArrayLis...

  • @IT人故事会 嗯呐 刚学,写的可能不全面,只是总结一下自己所学😁

    Java数据结构 - 图(邻接表存储)

    邻接表 相比邻接矩阵,邻接表要更加节省空间。 邻接表存储 本文将介绍邻接表存储有向带权图。图的例子如下。 介绍一下邻接表上面的图对应的邻接表如下图所示: 前面的数组存储的是所...

  • 120
    Java数据结构 - 图(邻接表存储)

    邻接表 相比邻接矩阵,邻接表要更加节省空间。 邻接表存储 本文将介绍邻接表存储有向带权图。图的例子如下。 介绍一下邻接表上面的图对应的邻接表如下图所示: 前面的数组存储的是所...

  • 120
    Java排序算法 - 基数排序

    基数排序 基本思想:对元素分别按照个位、十位、百位....N位进行排序。 具体步骤如下 1.待排序算组array 2.创建一个10行*array.length列的二维数组so...

  • Java排序算法 - 计数排序

    计数排序 基本思想:不通过比较,计下每个元素的出现次数,统计小于这个元素的个数N,将其放在N位。例如{7,6,2,4,2,3}这个序列,有5个小于7的元素,那么7在排序后应该...

  • 120
    Java排序算法 - 归并排序

    归并排序 思路:使用分治思想,将数组一直拆分,直到拆分成一个元素,此时每一个元素都相当于一个有序的数组,之后再将每两个数组合并成一个有序数组,一直到所有的数组都合并完成,最后...

  • 120
    Java排序算法 - 希尔排序

    希尔排序 概括:其实希尔排序就是将数组进行拆分,对分出来的每一个数组进行直接插入排序。 具体讲解 设置一个step(步长),step初始值为数组长度 / 2,每隔相同步长的元...

个人介绍
一只努力奋斗的大三狗