i3geek.com
闫庚哲的个人博客

综合知识

综合知识
深入学习数据库——索引结构(多维)-爱上极客

深入学习数据库——索引结构(多维)

yan阅读(2731)评论(6)赞(1)

利用传统的B树或者散列表进行建立单维索引,在处理多维数据时会遇到问题。例如地理信息系统,其中数据是两维的(如经度、维度),因此利用传统索引无法高效的解决问题,所以需要多维索引。 本文主要介绍两类多维索引:类散列表方法和类树方法。类散列方法包...

深入学习数据库——索引结构(单维)-爱上极客

深入学习数据库——索引结构(单维)

yan阅读(1101)评论(0)赞(0)

索引的重要性:能够加速在一个或多个属性上对特定值的查询。具体来说就是,我们只需查看所有可能记录中的小部分就能找到所需记录。 索引的基础结构 稠密索引、稀疏索引、主索引(聚集索引)、辅助索引(非聚集索引) 主索引(聚集索引) 能够确定记录在数...

大话Paxos——分布式一致性算法

yan阅读(2128)评论(2)赞(1)

Paxos是一种基于消息传递且具有高度容错性的一致性算法,在分布式当中应用的十分广泛。对于初学者来说理解paxos还是十分吃力的,因此本文主要是以通俗易懂的方式来介绍该算法,由浅及深来理解该算法。 背景 在分布式集群中,很难保障数据的一致性...

《headfirst设计模式》Java设计模式笔记-爱上极客

《headfirst设计模式》Java设计模式笔记

yan阅读(1769)评论(31)赞(0)

准备 为了有助于理解设计模式,看懂UML图,建议读者提前学习好类图、时序图等UML基本知识。 类图:http://www.i3geek.com/archives/956 构建型模式 名称 重要程度(5分满) 应用 简单工厂模式(Simple...

初始ZooKeeper(二)——应用实例-爱上极客

初始ZooKeeper(二)——应用实例

yan阅读(997)评论(14)赞(0)

统一命名服务 说白了,zookeeper会帮我们的文件起名,起的名字还挺好听,还不会重复,便于识别跟记忆,是不是很棒 配置管理 简单点,改变一台机器的配置,其他机器也会跟着改变 集群管理 监听是否有机器退出和加入、动态选举Master(最小...

初始ZooKeeper(一)-爱上极客

初始ZooKeeper(一)

yan阅读(609)评论(0)赞(2)

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务。目的是提供一种可靠的、可扩展的、分布式的、可配置的协调机制来统一系统的状态。原理:通知机制(观察者模式) + 文件系统。集群大小:奇数最好,选举条件是要求超过总数的一半。 ...

Java设计模式——迭代器模式-爱上极客

Java设计模式——迭代器模式

yan阅读(607)评论(0)赞(0)

定义 提供一种方法访问一个容器对象中各个元素,而又不暴露该对象的内部细节。 实现 迭代器角色(Iterator):定义遍历元素所需要的方法,一般来说会有这么三个方法:取得下一个元素的方法next(),判断是否遍历结束的方法hasNext()...

Java设计模式——责任链模式-爱上极客

Java设计模式——责任链模式

yan阅读(990)评论(0)赞(0)

定义 将接收者对象连接成一条链,并在该链上传递请求,直到有一个接收者对象处理它。通过让更多对象有机会处理请求,避免了请求发送者和接收者之间的耦合。 作用 请求 ===> 第一个处理者 ===> 第二个处理者 … ==...

Java设计模式——模板方法模式

yan阅读(692)评论(0)赞(0)

定义 一个操作中的算法的骨架,而将步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义算法的某些特定步骤。 作用 抽象类A(算法骨架) 《==实现===  具体类B(实现抽象方法) 比如:银行中办理业务,不管什么业务流程都是...

Java设计模式——策略模式-爱上极客

Java设计模式——策略模式

yan阅读(586)评论(0)赞(0)

定义 将可变的部分从程序中抽象分离成算法接口,在该接口下分别封装一系列算法实现,并让它们可以相互替换。策略模式让算法独立于使用它的客户而变化。 功能 分离、抽象出不变的部分形成接口,将算法的实现分别封装,这样会使客户端不受算法改变而受到影响...