redis跳表
跳表每个索引节点有向右和向下的指针,插入跳表时有1/2概率生成一级索引,1/4概率生成二级索引。。。
布隆过滤器位图加一系列映射函数来判断一个元素是否在某个集合。解决缓存穿透。
进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.
线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源
分布式锁为了保证客户端互斥访问共享资源。
回表查询就是两次查询b+树。
动态规划解两个字符串最长子串和最长公共子序列
reentrantlock基于aqs实现,可重入是通过一个state整数变量来实现。非公平锁是所有线程cas竞争锁,公平锁需要排队。
mysql隔离级别幻读是数据库总量读取不同,解决办法加表级锁。不可重复读针对update,加行级锁。幻读和不可重复读都是读取了另一条已经提交的事务(这点就脏读不同),所不同的是不可重复读查询的都是同一个数据项,而幻读针对的是一批数据整体(比如数据的个数)。