摘要: 1、依赖库来源 POM依赖一个库 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.47</version></dependency> 会从如下几个地方获取 本地仓库 阅读全文
posted @ 2020-06-22 23:04 蓝天随笔 阅读(2457) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2020-06-19 23:10 蓝天随笔 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 都是平衡二叉树。JDK热衷使用红黑树而非AVL树。 对比: 1、AVL树是严格平衡的,红黑树非严格平衡, 这点看查询效率AVL树 略好于 红黑树,但都是O(lon n)数量级 2、AVL树添加时最多2次旋转操作达到平衡,而删除时,可能删除节点以下的所有节点都需要旋转-> O(lon n)次 红黑树最 阅读全文
posted @ 2020-06-10 23:13 蓝天随笔 阅读(467) 评论(0) 推荐(0) 编辑
摘要: 一、定义 特点: 1、有多层链表,每层都是排序好的 2、每一个级别都是其更低级别的子集 3、除最底层Level0,每层每个索引节点包含两个指针,一个向下,一个向右; 如下: 二、复杂度 增删查可以在O(logn)时间内完成 数组可以二分,跳表就是实现可以二分的链表, 查询时从最上层开始,只要右侧节点 阅读全文
posted @ 2020-06-10 23:04 蓝天随笔 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 一、队列 queue常用方法: 二、List 三、Set 四、Map 阅读全文
posted @ 2020-06-09 23:07 蓝天随笔 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 一、定义 可以理解为"配对"队列 特点: 1、内部没有存储 2、阻塞队列 3、发送或者消费线程会阻塞,只有有一对消费和发送线程匹配上,才同时退出。 4、配对有公平模式和非公平模式(默认) 公平模式用队列实现 ,每次从队列head开始匹配 非公平模式用栈实现,每次从栈顶开始匹配。 二、使用 代码: p 阅读全文
posted @ 2020-06-08 23:23 蓝天随笔 阅读(3009) 评论(0) 推荐(1) 编辑
摘要: 一、定义 时延队列,只要经过一段时间后才能从队列中取出。 特点: 1、无界的阻塞队列。 2、只能存放实现了Delayed接口的对象 时延就是通过getDelay获取的,getDelay<=0时,才能取出队列中的值 3、内部使用PriorityQueue , 比较的就是时延 二、使用 代码样例 pub 阅读全文
posted @ 2020-06-08 22:58 蓝天随笔 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 一、定义 LSM(Log Structured Merge Trees)日志结构合并树。 其实不是一种树,是一种思想 根B/B+树一样,常用于一些nosql数据库的索引结构(如Hbase Cassandra SQLite)。 它的出现时为了解决B+树 磁盘IO随机读取的效率问题。 LSM索引只做ap 阅读全文
posted @ 2020-06-06 23:24 蓝天随笔 阅读(1320) 评论(0) 推荐(0) 编辑
摘要: 一、定义 Trie树,又叫前缀树、字典树 典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计 特点:额外构造一颗Trie树,后续查询以O(len) (len为字符串长度) 时间复杂度完成查找和统计,以空间换时间 Trie树的基本性质: (1)根节点不包含 阅读全文
posted @ 2020-06-06 23:20 蓝天随笔 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 一、定义 Huffma树,霍夫曼树 或 哈夫曼树,是一种带权路径和最短的树,也叫最优二叉树 一个树的带权路径和=每个叶子节点的带权路径长度之和 一个叶子节点的带权路径长度 = 节点权值 * 层高 如下,节点1的带权路径长度=1*2(层高)=2 整个树的带权路径长度=1*2 + 2*2 + 3*2 + 阅读全文
posted @ 2020-06-06 22:55 蓝天随笔 阅读(285) 评论(0) 推荐(0) 编辑