摘要: 预备知识 堆排序 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。首先简单了解下堆结构。 堆 堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每个结点的值都小于或等于 阅读全文
posted @ 2016-12-18 00:31 dreamcatcher-cx 阅读(798883) 评论(82) 推荐(218) 编辑
摘要: ThreadLocal介绍&跳出误区 看看源码 线程独享变量? ThreadLocal介绍&跳出误区 ThreadLocal一般称为线程本地变量,它是一种特殊的线程绑定机制,将变量与线程绑定在一起,为每一个线程维护一个独立的变量副本。通过ThreadLocal可以将对象的可见范围限制在同一个线程内。 阅读全文
posted @ 2016-12-14 00:02 dreamcatcher-cx 阅读(28200) 评论(6) 推荐(8) 编辑
摘要: 希尔排序是希尔(Donald Shell)于1959年提出的一种排序算法。希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序,同时该算法是冲破O(n2)的第一批算法之一。本文会以图解的方式详细介绍希尔排序的基本思想及其代码实现。 基本思想 希尔排序是把记录按 阅读全文
posted @ 2016-11-27 17:34 dreamcatcher-cx 阅读(343887) 评论(36) 推荐(76) 编辑
摘要: 排序是数据处理中十分常见且核心的操作,虽说实际项目开发中很小几率会需要我们手动实现,毕竟每种语言的类库中都有n多种关于排序算法的实现。但是了解这些精妙的思想对我们还是大有裨益的。本文简单温习下最基础的三类算法:选择,冒泡,插入。 先定义个交换数组元素的函数,供排序时调用 简单选择排序 简单选择排序是 阅读全文
posted @ 2016-11-26 12:46 dreamcatcher-cx 阅读(268112) 评论(19) 推荐(44) 编辑
摘要: 哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,而HashMap的实现原理也常常出现在各类的面试题中,重要性可见一斑。本文会对java集合框架中的对应实现HashMap的实现原理进行 阅读全文
posted @ 2016-11-16 00:27 dreamcatcher-cx 阅读(352016) 评论(72) 推荐(180) 编辑
摘要: 概述 约束是数据库用来确保数据满足业务规则的手段,不过在真正的企业开发中,除了主键约束这类具有强需求的约束,像外键约束,检查约束更多时候仅仅出现在数据库设计阶段,真实环境却很少应用,更多是放到程序逻辑中去进行处理。这也比较容易理解,约束会一定程度上较低数据库性能,有些规则直接在程序逻辑中处理就可以了 阅读全文
posted @ 2016-11-06 22:34 dreamcatcher-cx 阅读(46981) 评论(0) 推荐(6) 编辑
摘要: 基础概念 数据结构:是相互之间存在一种或多种关系的数据元素的集合。 逻辑结构和物理结构 关于数据结构,我们可以从逻辑结构和物理结构这两个维度去描述 逻辑结构是数据对象中数据元素之间的关系,是从逻辑意义上去描述的数据之间的组织形式。 逻辑结构有4种: 集合结构(数据元素之间仅以集合的方式体现,元素之间 阅读全文
posted @ 2016-10-22 20:20 dreamcatcher-cx 阅读(4215) 评论(0) 推荐(5) 编辑
摘要: 对于数据库来讲,安全性的重要程度不言而喻,今天我们就来聊一聊Oracle的权限体系。 1.账户管理 在此之前,先解释下一个容易混淆的概念:模式。所谓模式,指的是用户账户所拥有的一组对象(比如表,索引,视图,同义词之类的)。 所以严格意义上来讲它跟账户是不同的概念,切莫混淆。 创建一个账户 上面列举了 阅读全文
posted @ 2016-10-15 16:29 dreamcatcher-cx 阅读(5366) 评论(1) 推荐(1) 编辑
摘要: 对于一门技术的学习,尤其是像Oracle database这种知识体系极其庞杂的技术来讲,从宏观上了解其体系结构是至关重要的。同时,个人认为,未必是专业DBA人员才需要了解其体系结构(固然对于数据库专业人员来讲,这些都是必备知识了),一般的技术人员如果对其有较深入的了解,也是大有益处的,毕竟技术思想 阅读全文
posted @ 2016-09-26 00:17 dreamcatcher-cx 阅读(56108) 评论(9) 推荐(20) 编辑
摘要: 概述: 闪回技术是Oracle强大数据库备份恢复机制的一部分,在数据库发生逻辑错误的时候,闪回技术能提供快速且最小损失的恢复(多数闪回功能都能在数据库联机状态下完成)。需要注意的是,闪回技术旨在快速恢复逻辑错误,对于物理损坏或是介质丢失的错误,闪回技术就回天乏术了,还是得借助于Oracle一些高级的 阅读全文
posted @ 2016-09-11 00:48 dreamcatcher-cx 阅读(50965) 评论(0) 推荐(5) 编辑