容易遗忘的红黑树
作为一个被广泛应用的数据结构,我们必须了解红黑树的前世今生。红黑树是一种特殊平衡二叉树,其特殊的定义可以保证比较高效的查找效率。看了很多相关的博客,但是目前还没有完全理解其中删除后的调整策略。而且特别容易遗忘,所以在这里做个笔记,以便以后的学习和复习。
KMP 匹配算法
好几次遇到关于 KMP 匹配算法的使用,但是每次看到以后都忘了,所以这里做个记录。
Java AQS 详解
AbstractQueuedSynchroizer 简称 AQS,是一个抽象的队列式同步框架,提供了阻塞锁和 FIFO 队列实现同步操作,用来构建锁和同步器。JUC 包中的同步类基本都是基于 AQS 同步器来实现的,如 ReentrantLock,Semaphore 等。
AQS 采用了模板方法设计模式,支持通过子类重写相应的方法实现不同的同步器。在 AQS 中,有一个 state 变量,表示同步状态 (同步状态可以看作是一种资源,对同步状态的获取可以看作是对同步资源的竞争),AQS 提供了多种获取同步状态的方式,包括独占式获取、共享式获取以及超时获取等。
ArrayList 源码分析
GitHub 通关笔记
Git
几乎是现在版本管理的标配。用了好几年的 Git
,但是有一些功能还是用的比较少,发现 Github
上有个叫 githug
的小游戏,对 Git
入门和复习有很大的帮助。这里附上通关的笔记。
Githug
地址:https://github.com/Gazler/githug
Java 泛型详解
Java 枚举详解
Java 技术路线
总结了一些 java 后端技术栈,记录备用。