自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 资源 (14)
  • 收藏
  • 关注

原创 zookeeper3.4.9集群模式安装部署

环境要求下载解压配置说明复制 zoo_samplecfg 文件的并命名为为 zoocfg修改配置文件zoocfg配置项说明配置环境变量刷新环境变量关闭系统防火墙或配置防火墙规则zookeeper命令启动 zookeeper 服务查看zookeeper 服务状态关闭zookeeper服务重启zookeeper服务zookeeper自启动服务新建zookeeper脚本给z

2017-10-19 11:46:28 366

原创 Heritrix使用小结 - Shiny programming

1.   Heritrix 简介Heritrix是一个专门为互联网上的网页进行存档而开发的网页检索器。它使用Java编写并且完全开源。它主要的用户界面可以通过一个web流量器来访问并通过它来控制检索器的行为,另外,它还有一个命令行工具来供用户选择调用。Heritrix是由互联网档案馆和北欧国家图书馆联合规范化编写于2003年初。第一次正式发布是在2004年1月,并不断的被互联网档案馆和其他

2013-04-30 16:33:55 1005

原创 Heritrix源码分析(十三) Heritrix的控制中心(大脑)CrawlController(二)

上一篇博客主要介绍了CrawlController的各个属性,博客地址:http://guoyunsky.javaeye.com/blog/650744 ,以及三个特殊的属性.这里就介绍它的相关方法,首先从初始化开始介绍,主要请看代码以及注释:         1.Heritrix的初始化: /** * 初始化CrawlController * @param sH 配置文件(order

2013-04-30 16:33:04 897 1

原创 Heritrix源码分析(十二) Heritrix的控制中心(大脑)CrawlController(一)

CrawlController的确是Heritrix的大脑,在Heritrix中拥有无上的权利!可以控制Heritrix的启动、暂停、停止,也定时进行数据统计、数据汇报和文件管理。同时CrawlController也基本上贯穿整个Heritrix代码,和CrawlURI一样。同时CrawlController纯代码页进2000行,下面就先介绍里面的属性和主要方法,同时对一些灵活用法也加以介绍:

2013-04-30 16:32:06 827

原创 Heritrix源码分析(十一) Heritrix中的URL--CandidateURI和CrawlURI以及如何增加自己的属性

Url是爬虫的核心,因为爬虫就是依赖URL一层一层的抓取下去,最后完成整个抓取。Heritrix中的URL比较特殊,有以下继承关系(由于不对继承关系作介绍,所以这里就不画图了):          1)org.archive.crawler.datamodel.CrawlURI——>CandidateURI          2)org.archive.net.UURI——>org.arc

2013-04-30 16:31:25 860

原创 Heritrix源码分析(十) Heritrix中的Http Status Code(Http状态码)

以前在做Web开发的时候就接触过一些HttpStatus Code,比如404,500.后来接触Heritrix之后才知道HttpStatus Code竟然有如此之多。不一样的HttpStatus Code就代表不一样的Http状态,简单的如成功、失败、重定向等。Heritrix自己也根据自己的需求增加了一些,同时由于Heritrix通过HttpClient去获取网络资源,其中一部分HttpSta

2013-04-30 16:30:45 997

原创 Heritrix源码分析(九) Heritrix的二次抓取以及如何让Heritrix抓取你不想抓取的URL

前面说过Heritrix可以在某个抓取基础上(这里假设为A)继续抓取,因为Heritrix对每一个URL都会有相应的日志处理,同时还有checkpoint(备份中心)。所以只要通过A上的日志就可以完全按照该基础A继续抓取,不会重复抓取任何A抓过的任何东西,也会继续抓取A没有抓过的URL。做到这个有两种方法,一种是针对Web启动的,还有一种是针对我上次写的不通过Web启动的方式(启动方式见博客:He

2013-04-30 16:30:06 773

原创 Heritrix源码分析(八) Heritrix8个处理器(Processor)介绍

Heritrix采用多线程去抓取数据,每次运行基本都要经过以下8个处理器处理(种子URL、先决条件URL除外),如此形成一整个流程。下面就大概介绍下每个处理器的作用以及大概处理的步骤。以后分析源码的时候再细节分析......        8个处理器都继承org.archive.crawler.framework.Processor类,然后每个处理器都有自己的子类实现。同时相近处理器用org.

2013-04-30 16:29:06 758

原创 Heritrix源码分析(七) Heritrix总体介绍

网上关于Heritrix的基本介绍有很多,这里就不再重复。我这里主要介绍下它的优缺点。然后我会介绍它的运作流程以及我会从流程中各个点结合源码来分别介绍....      Heritrix整体让人感觉有些复杂和繁琐,一个爬虫写成这样也真是成仙了。接触Heritrix有1年半了,大概花了2个月的时间(每天看代码时间8小时以上)将它的代码看完。这1年半也接触过Lucene和Hadoop,也兴致勃勃的

2013-04-30 16:28:09 766

原创 Heritrix源码分析(六) Heritrix的文件结构分析

每通过Heritrix运行一次抓取后,发现在该Job目录下就会有很多文件。这里说明下每个文件的作用,同时更主要介绍它的日志文件,因为我们可以通过日志文件发现Heritrix的抓取情况。首先贴个图:        以上就是Heritrix完成的文件结构,现在一一说明 序号文件名说明1order.xmlHeritrix运行

2013-04-30 16:27:34 752

原创 Heritrix源码分析(五) 如何让Heritrix在Ecplise等IDE下编程启动

在Heritrix注释里说Heritrix有三种启动方式,但我感觉只有两种:一种是通过tomcat或者JBOSS或者Jetty等Web容器,还有一种自然就是不通过Web直接编程运行。由于第二种方式更适合调试、研究代码,所以这里就介绍下它的编程启动方式吧....这里贴上示例代码以及注释:   Java代码 import java.io.File;   import

2013-04-30 16:27:00 759

原创 Heritrix源码分析(四) 各个类说明(二)

9.org.archive.crawler.fetcher序号类说明1FetchDNS获取DNS数据,如IP2FetchFTP获取FTP数据3FetchHTTP获取HTTP数据4HeritrixHttpMethodRetryHandler

2013-04-30 16:26:13 840

原创 Heritrix源码分析(四) 各个类说明(一)

Heritrix的类的确很繁琐,往往继承了一层又一层,最多的继承好像有7层。下面就一个包一个包的说明每个类的作用,由于里面Heritrix组件分明,很多组件没用到的同时该组件的类我也没怎么接触,所以这里会忽略一部分 1.org.archive.crawler序号类说明1CommandLineParserHeritrix也可以通

2013-04-30 16:25:31 856

原创 Heritrix源码分析(三) 修改配置文件order.xml加快你的抓取速度

Heritrix的order.xml分了很多组件,可以灵活的配置各个抓取参数。但很多人都关心如何使得抓取更快更久更多,这里首先从Heritrix自身着手吧,修改order.xml的一些参数其实也可以达到这一目的.       下面就列出各个参数、说明和理想值     序号配置名理想值说明100最大下载字节数

2013-04-30 16:24:51 795

原创 Heritrix源码分析(二) 配置文件order.xml介绍

order.xml是整个Heritrix的核心,里面的每个一个配置都关系到Heritrix的运行情况,没读源码之前我只能从有限的渠道去获知这些配置的运用.读完之后才知道Heritrix竟然有如此灵活的运用,如可以控制抓取速度,可以优化电脑性能,可以在某一次的抓取上继续抓取.当然整个order.xml里我也没有全部掌握,只知道大部分配置的作用,希望大家指点改正以及补充,谢谢!

2013-04-30 16:24:10 979

原创 Heritrix源码分析(一) 包介绍

之前说过要分享下我的爬虫经验,但一直找不到突破口,现在才感觉写点东西真的很难,所以大家真的要感谢那些无私的前辈们,在网上留下的一篇篇可以指点迷津的文章。 想了很久,还是先从Heritrix的包开始说起,然后再说类,最后讲下如何加工Heritrix,也就是将其打造成自己想要的爬虫,这里补充下,我用的版本是1.14.3.      序号包名

2013-04-30 16:23:16 899

原创 Heritrix eclipse安装、配置

准备用Heritrix来做个小的搜索引擎,以下是我在配置Heritrix的过程中遇到的各种问题,通过几个小时的查找和分析,终于把Heritrix的单独配置和在eclipse下的配置做成功了。我在配置过程中遇到问题的时候,发现网上关于这方面的资料比较少,很多人都遇到过相同的问题,但没有人具体详细的给予解答,下面我将从网上获得的资料和我个人的认识进行总结,希望对才开始配置Heritrix的朋友有所帮助

2013-04-30 16:22:30 2396

原创 HashMap的实现原理

Hash ,一般翻译做“ 散列” ,也有直接音译为“ 哈希” 的,就是把任意长度的输入(又叫做预映射, pre-image ),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。HASH

2012-03-23 10:36:04 847

原创 J2EE领域的一些技术框架结构图

1.Spring 架构图        Spring 是一个开源 框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为J2EE 应用程序开发提供集成的框架。Spring 框架的功能可以用在任何J2EE 服务器中,大多数功能也适用于不受管理的环境。Spring 的核心要点是:支持不绑定到特定J2EE 服务的可重用业务和

2012-03-13 14:01:51 9169 5

原创 桥接模式

1.桥接模式的定义将抽象部分实现与抽象分离,使其他们能独立的变化2.桥接模式的UML3.代码实现public interface Implementor{ public void operationImpl();}public class ConcreteImplementB implements Implementor{ public voi

2012-02-13 16:19:43 2543

原创 职责链模式

1.职责链模式的定义使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为至2.职责链模式的UML3.代码实现public abstract class Handler{ protected Handler successor; public void setHand

2012-02-13 15:48:58 665

原创 装饰器模式

1.装饰器模式的定义动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式比生成子类更为灵活2.装饰器模式的UML图Component:组件对象的接口,可以给这些对象动态的添加职责ConcreteComponent:具体的组件对象,实现组件对象接口,通常就是被装饰器装饰的原始对象,也就是可以给这个对象添加职责Decorator:所有装饰器的抽象父类,需

2012-02-13 14:57:32 752

原创 享元模式

1.享元模式的定义运用共享技术 有效的支持大量的细粒度对象。2.享元模式的UML3.代码实现public interface Flyweight{ public void operation(String extrinsicState);}public class ConcreteFlyweight implements Flyweight{ priv

2012-02-13 11:14:24 717

原创 状态模式

1.状态模式的定义允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类2.状态模式的UML图3.代码实现public interface State{ public void handle(String param);}public class ConreteStateA implements State{ public v

2012-02-08 15:09:21 758

原创 策略模式

1.策略模式的定义定义一系列的算法,把他们一个个封装起来,并且使它们可以相互替换,本模式使得算法可独立于使用它的客户而变化2.策略模式的UML图3.代码实现public interface Strategy{ public void algorithmInterface();}public class ConreteStrategyA imple

2012-02-08 14:10:52 723

原创 模板模式

1.模板模式的定义定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得 子类可以不改变一个算法的结构即可重定义该算法的某些特定的步骤、2.模板模式的UML图3.代码实现public abstractor AbstractClass{ public void doPrimitiveOperation1(); public void d

2012-02-08 11:42:01 1069

原创 组合模式

1组合模式的定义将对象组合成属性结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性2.组合模式的UML3.代码实现public abstract Component{ public void someOperation(); public void addChild(Component child){

2012-02-08 09:44:15 731

原创 命令模式

1.命令模式的定义将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作2.命令模式的UMLCommand:命令的接口,定义执行的方法ConcreteCommand:命令的具体实现类,一般是虚的实现,一般会持有Receiver对象,并调用Receiver类中的功能来完成命令要执行的操作。Receive

2012-02-07 17:01:43 860

原创 观察者模式

1.观察者模式的定义定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变,所有依赖于它的对象都会得到通知并自动更新2.观察者模式的UML图Subject :目标对象。Observer:观察者接口ConcreteSubject:具体的目标实现对象ConcreteObserver:具体的观察者实现对象3.代码实现public interfa

2012-02-07 15:00:26 675

原创 代理模式

1.代理模式的定义为其他对象提供一种代理已控制该对象的访问。2.代理模式的UMLProxy: 代理对象。Subject :目标接口,定义目标对象与代理的接口,这样就可以在任何使用具体对象的地方使用代理。RealSubject:真实的对象。3.代码实现public interface Subject{ public void req

2012-02-07 13:45:16 588

原创 中介者模式

1.中介者模式定义用一个中介对象来封装一系列的对象交互。中介者使得各对象不需要显式的相互调用,从而使其耦合松散,而且可以独立的改变他们之间的交互2.中介者模式UML图Mediater:中介者接口。在里面定义各个同事之间相互调用的方法,可以是公共的相互之间的通信,也可以是小范围之间的相互调用ConcreteMediator:中介者接口的具体实现,它需要了解

2012-02-07 10:28:48 735

原创 原型模式

1.原型模式的定义用原型实例对象指定创建对象的种类,并通过拷贝这些原型创建新的对象2.原型模式的UML 3.代码实现public interface Prototype{ public Prototype clone();}public class ConcretePrototype1 implements Protototype{

2012-02-07 09:49:09 694

原创 生成器模式(Build)

1.生成器模式的定义将一个复杂的对象的构件与它的表示分离,使得同样的构建过程可以创建不同的表示2.生成器模式的UMLBuilder :生成器接口,定义创建一个Product各个部件的操作ConcreteBuilder:具体的生成器的实现类Product:产品,表示被生成器构建的复杂的对象,包含多个部件Director:指导者也称导向者,主要用来使用Bui

2012-02-06 16:11:23 3215

原创 抽象工厂模式

1.抽象工厂模式的定义提供一个创建一系列的相关或是相互依赖对象的接口,而无需指定它们具体的类2.抽象工厂模式的UML图3.代码实现public interface AbstractFactory{ public AbstractProductA createProductA(); public AbstractProductB createProduct

2012-02-06 15:42:14 1021

原创 工厂方法模式

1.工厂方法模式的定义定义一个用于创建对象的接口,让子类决定实例化那一个类,工厂方法模式使一个类的实例化延迟到子类中去2.工厂方法模式的UML图3.代码实现public interface Product{ //可以定义产品的属性及方法 }public class ConcreteProduct implements Product{

2012-02-06 15:14:44 563

原创 单例模式

1.单例模式的定义保证一个类只有一个实例,并且提供一个访问它全局的访问点2.单例模式的UML图3.单例模式的代码实现懒汉式public class Singleton{ private static Singleton instance=null; private Singleton(){ } public static sy

2012-02-06 14:49:02 573

原创 适配器模式

1.适配器模式的定义将一个类的接口转换成另一个类的接口。适配器模式使得原本因为接口不兼容而不能在一起工作的类可以一起工作2.适配器UML图Client:调用自己需要的接口TargetTarget:定义客户所需要的接口Adaptee:原来已有的接口Adapter:适配器把Adaptee适配成客户需要的接口3.代码实现public interfa

2012-02-06 14:17:40 651

原创 外观模式

1.外观模式的定义为了子系统提供一个统一的界面,Facade定义了一个高层的接口,这个接口使得子系统更加容易使用2.外观模式的UML图3.代码实现public interface AModuleApi{ public void testA();}public class AModelImpl implements AModeleApi{

2012-02-06 11:27:13 538

原创 简单工厂模式

1.简单工厂模式的定义提供一个创建对象的实例功能,而无需关心它的具体实现,被创建的实例可以是接口,抽象类 ,具体的实现类2.简单工厂模式的UML图Api:定义客户所需要的功能接口ImplA:具体的功能接口的实现类(可能会多个)Factory:工厂类,创建Api接口对象Client:客户端,用来通过Factory获取Api对象3.代码实现

2012-02-06 10:54:46 474

原创 UML基础

1.UML图包括2.关系关联普通关联:只要类与类之间存在着关联关系 就可以用普通关联来表示,例如人与计算机的关系java代码如下public class Person{ private List computers;}public class Computer{ privat

2012-02-02 17:11:01 524

eclipse Maven插件

myeclipse maven 插件

2012-05-11

PHPECLIPSE插件

PHPECLIPSE插件 你懂的

2011-09-16

JMS消息服务代码(java message service)

关于JMS的消息服务的代码,包括PTP和Pub/Sub,简单通俗 易懂。

2011-06-14

DES加密算法在银行外联业务中的应用

DES加密算法在银行外联业务中的应用。讲的很详细,现在主流的银行外联的加密就是DES/CBC 和DES/ECB

2011-05-27

javacsript浮动框

有各种各样的javacsript浮动框,广告框-----------------------------------

2011-05-05

javaDoc转换成chm文件

四种把javaDoc转换成Chm文件————————————————————————————-

2011-05-05

Ext 表头合并插件

Ext表头合并插件,不管私自收藏,和大家一起共享

2009-10-12

一个初学者很好的web jdpm实例

基于本人刚开始学jbpm时,在网上查找的基于web的jdpm实例要么太过于复杂了,要么根本就调试不出来,所以本人写了一个简单的jbpm实例。便于初学者很快的入门。

2009-08-14

一个经典的jbpm例子,学jbpm必备的例子

这是本人学习jbpm以来看过的写的最有条理的一个例子,基于现在网上jbpm的例子比较的少,所以上传上来和大家一起分享

2009-08-11

spring框架源代码

spring源代码 老发十分咔叽迪斯科浪费飞机恺撒的飞机立刻撒旦机分厘卡撒解放喀什机反抗十分大家喀什的发挥

2009-05-17

structs 和hiberation的房地产管理系统

这是 本人和几个朋友利用了一个星期的时间做的 ,基本实现了房地产的大多数功能,数据库采用的oracle服务器

2009-05-17

所有的排序算法的原代码

所有排序算法的原代码。。。。用的是java 写的 很全的哦。。。。

2009-04-23

java解析xml文件的例子(三中方式的都有,很全)

java解析xml文件,已连接数据库为例,我用的是oracle数据库 三种方式的例子都有 dom sax dom4j 很全的哦。。。 本人亲自写的哦

2009-04-23

Struct框架下的管理系统

对于初学者是一个能很好的把structs的知识 连串起来

2009-04-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除