上一页 1 ··· 5 6 7 8 9 10 11 12 下一页
摘要: 读写锁在同一时刻可以允许多个线程访问,但是在写线程访问,所有的读线程和其他写线程均被阻塞。 读写锁不像 ReentrantLock 那些排它锁只允许在同一时刻只允许一个线程进行访问,读写锁可以允许多个线程同时访问,并发性能相比一般的排它锁有很大的提升。 当写操作开始时,所有晚于写操作的读操作均会进入 阅读全文
posted @ 2019-09-25 22:28 賣贾笔的小男孩 阅读(314) 评论(0) 推荐(0) 编辑
摘要: ReentrantLock 是一种可重入的互斥锁,它不像 synchronized关键字一样支持隐式的重进入,但能够使一个线程(不同的方法)重复对资源的重复加锁而不受阻塞。 ReentrantLock 的 Java类图: 其中抽象静态内部类 Sync 继承了 AQS,可见 ReentrantLock 阅读全文
posted @ 2019-09-25 18:23 賣贾笔的小男孩 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 队列同步器 AbstractQueuedSynchronizer 是一个公共抽象类。提供一个同步器框架,用于实现依赖于先进先出(FIFO)等待队列的阻塞锁和相关同步器(信号量,事件等)。使用一个 int 成员变量表示同步状态,通过内置的 FIFO 队列来完成资源获取线程的排队工作。 同步器的使用主要 阅读全文
posted @ 2019-09-19 20:10 賣贾笔的小男孩 阅读(210) 评论(0) 推荐(0) 编辑
摘要: B 树定义 一颗 B 树 T 具有以下性质的有根树:(根为T.root) 每个结点 x 具有 n 个关键字,每个关键字非降序存放,有一个布尔型 leaf 表明 x 结点是不是叶子结点; 每个结点 x 内部还包含(x.n + 1)个孩子结点指针指向 x.c(1) ... x.c(i),叶子结点此属性为 阅读全文
posted @ 2019-09-08 23:36 賣贾笔的小男孩 阅读(323) 评论(0) 推荐(0) 编辑
摘要: MySQL 的逻辑架构图设计图 连接/线程处理:管理客户端连接/会话[mysql threads] 解析器:通过检查SQL查询中的每个字符来检查SQL语法,并为每个SQL查询生成 SQL_ID。 此外,身份验证检查(用户凭据)将在此阶段发生。 优化程序:根据存储引擎创建有效的查询执行计划。它将重写一 阅读全文
posted @ 2019-09-04 19:25 賣贾笔的小男孩 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 广度优先搜索,该算法是将已发现结点和未发现结点之间的边界,沿着其广度方向向外扩展,算法需要发现所有距离源结点 s 为 k 的所有结点之后,才会发现距离源结点 s 为 k+1 的其他结点。如果结点都被访问,算法终止。 此过程需要先构建一颗广度优先树。一开始,该树只有根结点 s (源节点)。在扫描已发现 阅读全文
posted @ 2019-09-01 15:56 賣贾笔的小男孩 阅读(497) 评论(0) 推荐(0) 编辑
摘要: 红黑树是每个节点都带有颜色属性的二叉查找树,颜色为 红色 或 黑色。在二叉查找树强制一般要求以外,对于任何有效的红黑树我们增加了如下的额外要求: 节点是红色或黑色。 根是黑色。 所有叶子都是黑色(叶子是NIL节点)。 每个红色节点必须有两个黑色的子节点。(从每个叶子到根的所有路径上不能有两个连续的红 阅读全文
posted @ 2019-08-30 20:38 賣贾笔的小男孩 阅读(2061) 评论(0) 推荐(0) 编辑
摘要: 一、& 按位与运算符 5 & 3 = 1 5转换为二进制:0000 0000 0000 0000 0000 0000 0000 0101 3转换为二进制:0000 0000 0000 0000 0000 0000 0000 0011 规则:对应的两个二进制位都为1时,结果位就为1,其他情况都为0。 阅读全文
posted @ 2019-08-25 14:29 賣贾笔的小男孩 阅读(2138) 评论(0) 推荐(0) 编辑
摘要: 散列表(Hash table,也叫哈希表),是根据键(Key)而直接访问在内存存储位置的数据结构。也就是说,它通过计算一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录,这加快了查找速度。这个映射函数称做散列函数,存放记录的数组称做散列表。 散列函数的规则是:通过某种转换关系,使关键字 阅读全文
posted @ 2019-08-22 18:07 賣贾笔的小男孩 阅读(18458) 评论(0) 推荐(0) 编辑
摘要: 分块查找又称索引顺序查找,它是顺序查找的一种改进方法。 算法流程: 先选取各块中的最大关键字构成一个索引表; 查找分两个部分:先对索引表进行二分查找或顺序查找,以确定待查记录在哪一块中;然后,在已确定的块中用顺序法进行查找。 注:算法的思想是将n个数据元素"按块有序"划分为m块(m ≤ n)。每一块 阅读全文
posted @ 2019-08-21 21:47 賣贾笔的小男孩 阅读(13137) 评论(0) 推荐(1) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 下一页