- 浏览: 661760 次
- 性别:
- 来自: 深圳
博客专栏
-
Hadoop学习
浏览量:251943
最新评论
-
leibnitz:
请问,你知道在FSEdigLog#loadFSEdits()时 ...
Hadoop学习二十三:Hadoop-Hdfs FSDirectory 源码 -
jiaqing_blog:
七.等待队列(本是Object里的方法,但影响了线程)noti ...
多线程总结二:线程的状态转换 -
haaarySun:
虽然是三年前的帖子,但还是想回复博主,logger是继承了ca ...
Java日志学习三:Apache Log4j源码浅析 -
annmi_cai:
好好学习,天天向上!
Hadoop学习四:Hadoop-Hdfs NameNode -
emotionText:
楼主你好!我运行报错SLF4J: Class path con ...
Hadoop学习三十:Win7 Eclipse调试Centos Hadoop2.2-Mapreduce
文章列表
一.概念
适配器模式将一个接口转换成客户希望的另外一个接口。它使得原来由于接口不兼容而不能在一起工作的那些类可以一起工作。
二.UML
三.更加生动的例子
四.实例分析
去年买了一个本本,另外给本本配了罗技G1光电套。坑爹的是,光电套的鼠标是USB接口,键盘是PS2接口,可我的本本却没有PS2接口啊。于是跑到市场,淘了一个转接器。
于是乎,我抽象了这么几个类。
PS2Port(PS2接口)。
USBPort(USB接口)。
PS2ToUSB(对象适配器),将PS2接口装换成USB ...
一.概念
命令模式将一个请求封装成一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。
二.UML
Recevier(动作的接收者)。
Command(命令对象接口),调用命令对象的execute方法,就可以让接收者进行相关的动作。
ConcreteCommand(具体命令),将一个接收者对象绑定在一个操作命令对象上。
Invoker(调用者),持有一个命令对象,并在某个时间点调用命令对象的excute方法,将请求付诸行动。
Client(客户端),负责创建一个具体命令对象,并设置其接收者。
三. ...
一.概念
确保一个类只有一个实例,并提供一个全局访问点来获取该实例。
二.UML
三.三种单例模式
饿汉模式:在类加载的时候就实例化一个自己的对象。
package com.zzy.singleton;
/**
* 饿汉模式
* @author eason
*
*/
public class Singleton {
//JVM在静态初始块中创建对象
//保证了在任何线程访问singleton变量之前,一定先创建此实
//保证了线程安全
//static确保Singleton类只有一个实例
//保证了单 ...
一.概念
抽象工厂模式提供一个接口,用于创建相关或依赖对象的家族,而不需要明确知道具体类。
二.实例分析
CPU
package com.zzy.abstractFactory;
/**
* CPU接口
* @author eason
*
*/
public interface CPU {
public void work();
}
WDCPU/SamSungCPU/SeagateCPU类似,只贴出一个
package com.zzy.abstractFactory;
/**
* 西数CPU
...
一.概念
定义了创建对象的接口,但有子类决定要实例化的类是哪一个。工厂方法把类实例化推迟到了子类(这个是GOF上的定义,总感觉定义的不好)。
二.实例分析
CPU
package com.zzy.factoryMethod;
/**
* CPU接口
* @author eason
*
*/
public interface CPU {
public void work();
}
WDCPU/SamSungCPU/SeagateCPU类似,只贴出一个
package com.zzy.fact ...
一.概念
简单工厂模式是属于创建型模式,又叫做静态工厂方法(StaticFactory Method)模式。
二.实例分析
现需要一个cpu,各大厂家都能生成,我们到底选哪家呢。
CPU
package com.zzy.simpleFactory;
/**
* CPU接口
* @author eason
*
*/
public interface CPU {
public void work();
}
SamSungCPU
package com.zzy.simpleFactory;
/ ...
一.概念
动态的给一个对象添加额外的职责。想要扩展功能的话,装饰者提供了一种有别于继承的另外一种选择。
二.UML
Component(概念中提到的对象接口),也就是“被装饰者”。
ConcreateComponent(未添加任何职责的,对象接口的子类)。
Decorator(装饰者抽象类),扩张了对象接口的功能。
ConcreteDrcorator(具体装饰类),具体怎么装饰对象接口的在这些类里面反映。
三.实例分析
家里买了一套房子,需要装修,考虑到预算只有这么多,不能采用全包的方式,于是采用将装修工作细化,以节省开销。
...
设计模式学习二:观察者模式
- 博客分类:
- 设计模式
一.概念
在对象之间定义一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象都会收到通知,并自动更新。
观察者模式也被称之为:主题-观察者模式,发布-订阅模式,前者是一,后者是多。
二.UML
Subject(主题类),最主要的方法:添加/删除观察者,改变状态,通知观察者。
Observer(观察者类),当主题状态改变,通知观察者时,触发观察者的update方法。
三.实例分析
《那些年,我们一起追的女孩》让我回到了高中,想到了以前的同桌,那个我暗恋N久的女孩子。那时候,我们一起下课,一起吃饭,一起逃课,一起翻 墙... ...
一.概念
策略模式:它定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法的变化不会影响到使用算法的客户。
二.UML
Context(应用场景),持有Strategry对象的引用。
Context能动态指定Strategry具体的实现。
Context要使用Strategry提供的算法。
Strategry(抽象策略类),定义了算法的骨架。
ConcreteStrategryA-C实现类,提供算法的具体实现。
三.实例分析
铁道部现需要一个订票网站,于是对外招标,有许多公司都参与了竞标,它们都 ...
看了一些设计模式的书,但没有经过项目的历练,很快便会忘记,与”灵活运用设计模式“这一目标越来越远。遂决定记录下所看所得,与大家分享。本人知识有限,文中好或不好的地方,都希望大家提出宝贵的意见,我们共同学习,共同提高。
设计模式学习一:策略模式
设计模式学习二:观察者模式
设计模式学习三:装饰者模式
设计模式学习四:简单工厂模式
设计模式学习五:工厂方法模式
设计模式学习六:抽象工厂模式
设计模式学习七:单例模式
设计模式学习八:命令模式
设计模式学习九:适配器模式
...
自始至终,都没能好好了解一下solrj。应该说,solrj为我们提供的api远比我们自己构建url查询,自己解析XML格式强大。一直觉得自己对solr的理解只停留在应用阶段,究其原因就是源码读少了。一个开源的东西,从没有听说过它,到灵活应用到,却到不了理解其核心。这样的学习过程,是一个不成熟的学习过程,是一个急功近利的学习过程。"学习,得脚踏实地。"与大家共勉。
1.基本查询语法
q:全文查询。schema.xml里面定义了如下两块。eg q=ibm即表示org_name或者org_weisite里面出现ibm的document都可以被匹配到。KeyWords查询就是这个参数。<!-- catchall field, containing all other searchable text fields (implemented
via copyField further on in this schema -->
<field name="text" type="text ...
1.为什么要对数据库数据建立索引
full text search(全文检索)。
我们有一段文本,输入关键词,去匹配这个文本的时候。用sql like%**%。我们知道两个%一起使用,是没法使用索引的。数据量稍大慢的像蜗牛也不足为奇了。
2.solr为数据库建立索引
DIH:DataImportHandler。在solrconfig.xml里面定义了为数据库建立索引的核心文件db_data-config.xml,有点类似struts2 action的配置。
<requestHandler name="/dataimport" class="o ...
Business Networking Platform,公司开发的平台。
solr应用:http://www.gagein.com/GuestHome 。
个人觉得搜索功能还有很大欠缺,欢迎大家指正。
才知道之前定的一个标题框架把自己定死了。关于solr总结 第三部分:solr运行,可以讲的地方并不多。
1.无非就是build成功后,生成索引,访问索引。
2.生成索引,后文会介绍为数据库数据生成索引。
3.访问索引,其实就是查询啦。有两种方式:
url直接请求。根据solr查询语法,自己去拼接url,比喻http://localhost:8080/solr/库名/select/?q=solr。举个例子。
/**
* excute solr delta import
* @param strUrl
* @throws AppException
*/
...