自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(80)
  • 收藏
  • 关注

Hadoop集群基础设施建设

2012年底-2013年初的这段时间主导建设了一个14节点的Hadoop集群,亲历了从硬件选型到平台搭建的过程,建设过程中有一些经验和建议,希望和大家分享,也请各位高人批评指正: 14台服务器分为2组: 组1是2台IBM 3650M4服务器,运行的是节点分别是NN、JT和2NN,NN和JT在同一台服务器上,随着集群规模的增大,最好将NN和JT分开。 组2是1...

2013-04-09 17:35:19 242

原创 Template模式

Template模板模式定义:定义一个操作中算法的骨架,将一些步骤的执行延迟到其子类中.使用Java的抽象类时,就经常会使用到Template模式,因此Template模式使用很普遍.而且很容易理解和使用。  public abstract class Benchmark{  /**  * 下面操作是我们希望在子类中完成  */

2008-02-29 13:50:00 353

原创 单态模式

单态定义:Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。 在很多操作中,比如建立目录 数据库连接都需要这样的单线程操作。还有, singleton能够被状态化; 这样,多个单态类在一起就可以作为一个状态仓库一样向外提供服务,比如,你要论坛中的帖子计数器,每次浏览一次需要计数,单态类能否保持住这个计数,并且能synchronize的安全自动加1,

2008-02-29 13:44:00 343

原创 状态模式

State模式的定义: 不同的状态,不同的行为;或者说,每个状态有着相应的行为.何时使用?State模式在实际使用中比较多,适合"状态的切换".因为我们经常会使用If elseif else 进行状态切换, 如果针对状态的这样判断切换反复出现,我们就要联想到是否可以采取State模式了.不只是根据状态,也有根据属性.如果某个对象的属性不同,对象的行为就不一样,这点在数据库系统中出现频率比较

2008-02-27 15:57:00 641 1

原创 第10章 Bridge模式

Bridge模式:将抽象与其实现解耦,使它们都可以独立地变化。Bridge模式关键特征:意图:将一组现实与另一组使用它们的对象分离。问题:一个抽象类的派生类必须使用多个实现,但不能出现类数量爆炸性增长。解决方案:Abstraction为要实现的对象定义接口,Implementor为具体的实现类定义接口。Abstraction的派生类使用Implementor的派生类,却无需知道自己

2008-02-27 15:43:00 516

原创 第18章 Observer模式

Observer模式:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知并自动更新。这个模式又称依赖或发布-订阅。Observer模式:关键特征意图:在对象之间定义一种一对多的依赖关系,这样当一个对象的状态改变时,所有依赖者都将得到通知并自动更新。问题:当某个时间发生时,需要向一系列变化着的对象发出通知。解决方案:Observer将监视

2008-02-26 09:49:00 408

原创 第17章 Decorator模式

Decorator模式:动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式比生成子类更为灵活。Decorator模式:关键特征意图:动态地给一个对象添加职责。问题:要使用的对象将执行所需的基本功能。但是,可能需要为这个对象将添加某些功能,这些附加功能可能发生在对象的基础功能之前或之后。请注意,Java基础类在I/O处理中广泛使用了Decorator模式。解决

2008-02-26 09:13:00 377

原创 第11章 Abstract Factory模式

Abstract Factory模式:抽象工厂模式,为创建一组相关或相互依赖的对象提供一个接口,而且无需指定它们的具体类。Abstract Factory模式:关键特征意图:需要为特定的客户提供对象组。问题:需要实例化一组相关的对象。解决方案:协调对象组的创建。提供一种方式,将如何执行对象实例化的规则从使用这些对象的客户对象提取出来。参与者与协作者:AbstractFactor

2008-02-26 08:47:00 618

原创 第9章 Strategy模式

 策略模式:定义一系列算法,把它们一个个封装起来,并且使它们可相互替换。策略模式使算法可独立于使用它的客户而变化。策略模式:关键特征意图:可以根据上下文,使用不同的业务规则或算法。问题:对所需算法的选择取决于发出请求的客户或者要处理的数据。如果只有一些不会变化的算法,就不需要策略模式。解决方案:将对算法的选择和算法的实现相分离。允许根据上下文进行选择。参与者与协作者:Strat

2008-02-25 13:34:00 511

原创 第7章 Adapter模式

适配器模式:将一个类的接口转换成客户希望的另外一个接口。Adapter模式使原本由于接口不兼容而能一起工作的类可以一起工作。Adapter模式:关键特征意图:使控制范围之外的一个原有对象与某个接口匹配。问题:系统的数据和行为都正确,但接口不符。通常用于必须从抽象类派生时。解决方案:Adapter模式提供了具有所需接口的包装类。参与者与协作者: Adapter改变了Adaptee

2008-02-25 11:18:00 3050 2

原创 第6章 Facade模式

Facade:为子系统中的一组接口提供一个统一接口(界面)。Facade模式定义了一个更高层的接口,使子系统更加容易使用。 Facade模式:关键特征意图:希望简化原有系统的使用方式。需要定义自己的接口。问题:只需要使用某个复杂系统的子集,或者,需要以一种特殊的方式与系统交互。解决方案:Facade为原有系统的客户提供了一个新的接口。参与者与协作者:为客户提供的一个简化的接口,

2008-02-25 09:45:00 447

原创 第2章 UML

UML是一种用来创建程序模型的图形语言。分析阶段:用例图,活动图。观察对象的交互:交互图。设计阶段:类图。观察对象所处状态不同时行为的差异:状态图。配置阶段:部署图。UML主要用来交流,可以用来确定我对系统的理解是否与其他人相同。类图:不仅描述了类,而且说明了类之间的关系。交互图:表示对象间如何交互。最常用的交互图是顺序图。 

2008-02-25 09:14:00 301

原创 第1章 面向对象泛型

常用软件开发方法:功能分解。功能分解是一种处理复杂问题的自然方法。一个重要问题是主程序负责的东西太多,可以采用委托的方式解决,另一个问题是无法应对变化。需求总在变化,我们应该尽量在第一次编写时就努力考虑未来的变化。模块化有助于应对需求变化,但往往带来了低内聚和高耦合性。责任转移是更好的应对需求变更的方法,软件开发过程中的视角:概念,规约(接口),实现。在概念层次上,对象是一组责

2008-02-25 09:06:00 323

原创 第13章 过滤器和包装器

过滤器允许你拦截请求。过滤器和Servlet很像,体现在三个方面:容器知道过滤器API、容器管理过滤器的生命周期、都在DD中声明。每个过滤器都实现Filter接口的三个方法:init、doFilter和destory在DD中配置过滤器:声明过滤器、声明对应URL模式的过滤器映射、声明对应servlet名的过滤器映射。2.4版本。过滤器可以应用于请求分派器。包装器:ServletRe

2008-02-24 21:08:00 420

原创 第9章 强大的定制标记

JSTL不是JSP2.0规范部分,需要jstl.jar文件。,可以嵌套使用。和、web.xml中的标记标记JSTL库包括:核心库、格式化库、SQL库、XML库。理解TLD 

2008-02-24 21:00:00 307

原创 第8章 无脚本的JSP

 在页面不要使用脚本语言。标准动作。标准动作。标准动作。可以把放在体中,使用type属性可以实现多态性,type表明声明的类型,class表示要实例化的类型,scope属性默认为page。利用param属性,可以把bean的性质值设置为一个请求参数的值。只需指定请求参数。如果请求参数名与bean性质名匹配,可以自动得到值。写成*容器会自动匹配相同名字的值。bean标记会自动转换基本类型的性质。对于

2008-02-20 20:49:00 353

原创 第7章 作为JSP

容器会把JSP转换成Servlet。通过import导入类,使用逗号来分隔多个包,包列表要用引号引起来。表达式不用写分号。用隐式对象:out-JspWriter   request-HttpServletRequest  response-HttpServletResponse session-HttpSessionapplication-ServletContext config

2008-02-19 20:58:00 345

原创 第6章 会话状态

同一客户多次请求不能被识别。HttpSession对象可以跨多个请求保存会话状态。客户会被分配一个惟一的会话ID。需要cookie,容器会负责生成,分配等工作。通过request.getSession得到Session对象有可能是刚刚创建或者已存在的。如果禁用了cookie,可以使用URL重写的方式。会话有三种销毁方法:超时,调用invalidate方法,应用结束。设置超时方法:在web.xml中

2008-02-18 21:47:00 210

原创 第2章 Ajax新手上路

Ajax的关键元素:JavaScript、CSS、DOM、XMLHttpRequest对象。JavaScript定义了业务规则和程序流程,应用程序使用XMLHttpRequest对象通信,通过DOM和CSS改变界面外观。使用XML技术异步加载数据:1)IFrame2)XMLDocument和XMLHttpRequest对象:使用XMLHttpRequest对象向服务器发送请求;使用回调函数监视请求

2008-02-15 09:56:00 335

原创 第1章 一种新的Web设计方法

Ajax:异步JavaScript+XML,采用的是已有技术。富客户端:像现在的桌面应用一样的体验。网络延迟:由于远程调用带来的开销,不精心设计会给用户带来很糟的感觉,这是对于本地调用的一大问题。异步交互:异步线程,在后台处理那些需要计算很久的任务,这样用户可以继续做其他的事情。异步回调解决方案中客户端会收到两次通知,一次是在线程创建的时候,另一次是在线程结束的时候,传统的HTTP和Web应用模型

2008-02-15 09:08:00 321

原创 表、栈和队列

最基本的三种数据结构。抽象数据类型。表ADT:大小为0的表为空表。 表的操作通常包括:InitList:构造一个空的线性表。DestoryList:如果线性表存在销毁线性表。ClearList:如果线性表存在置空线性表。ListEmpty:如果线性表存在并且为空返回true,否则返回false。GetElem:返回表中指定位置元素的值。LocateElem:返回元素所在位置

2008-02-14 14:23:00 260

原创 第9章 事件

DOM Level1未定义任何事件,DOM Level2定义了一小部分子集,完整的事件是在DOM Level3中规定的。事件流:冒泡型事件:事件按照从最特定的事件目标到最不特定的事件目标的顺序触发。捕获型事件:事件从最不精确的对象开始触发,然后到最精确。DOM事件流:支持以上两种事件模型,捕获型事件先发生。事件处理函数/监听函数:用于响应某个事件而调用的函数称为事件处理函数,或者DOM称之为事件监

2008-02-13 14:01:00 264

原创 第8章 检测浏览器和操作系统

最重要的对象是navigator对象,两种检测方式:对象/特征检测和user-agent字符串检测。 对象/特征检测法:是一种判断浏览器能力的通用方法,检查函数是否存在不能出现括号。user-agent字符串检测法:navigator对象的userAgent属性。user-agent字符串简史:见书196-201页浏览器检测脚本:201页-211页平台/操作系统检测脚本:211页-224页

2008-02-13 13:16:00 260

原创 第7章 正则表达式

正则表达式是具有特殊语法的字符串,用来表示指定字符或字符串在另一个字符串中出现的情况。JavaScript通过RegExp类支持正则表达式。RegExp对象:test方法,exec方法,match方法,search方法。扩展的字符串方法:replace,split简单模式:1)元字符:( [ { /  ^  $  |  ) ? * + .2)使用特殊字符:见书171页字符类:1)简单类2)负向类3

2008-02-13 13:08:00 243

原创 第6章 DOM基础

NODE接口以及特性和方法:见书143-144页JavaScript中大部分处理DOM的过程都利用document对象。检测节点类型 :nodeType特性访问指定节点:1)getElementByTagName2)getElementsByName3)getElementById创建和操作节点:1)创建新节点:见书151页2)createElement、createTextNode、append

2008-02-13 11:47:00 290

原创 第5章 浏览器中的JavaScript

 标签:通常放置在标签中。language和src特性。外部文件格式:只包含JavaScript代码的纯文本文件。不需要标签。内嵌代码和外部文件:安全性、代码维护、缓存。一般所有代码和函数定义都放置在标签中,唯一出现在标签中的是函数调用,页面一加载就会执行,建议使用事件处理函数。以前的浏览器不支持JavaScript代码,需要隐藏,现在不需要了。标签标识浏览器不支持JavaScript时显示的内容

2008-02-13 10:53:00 194

原创 第4章 继承

本地类和宿主类不能作为基类。继承方式:对象冒充、call方法、apply方法、原型链、混合方式。其他继承方式:zlnherit、xbObjects

2008-02-13 10:35:00 270

原创 第3章 对象基础

对象声明和实例化:new关键字。ECMAScript有无用存储单元收集程序,也可手工把对象置为null。只支持晚期绑定。对象类型:本地对象、内置对象、宿主对象。本地对象:ECMA-262定义的类内置对象:不必实例化就可以使用,ECMA-262定义,两个Global和Math。宿主对象:所有非本地对象都是宿主对象。所有BOM和DOM对象都是宿主对象。ECMAScript中只有公用作用域。静态作用域其

2008-02-13 10:19:00 257

原创 第2章 ECMAScript基础

ECMAScript基础概念:区分大小写;变量是弱类型的,定义时之用var运算符;每行结尾的分号可有可无;注释与Java相同;括号表明代码块。 ECMAScript用var运算符声明变量,可以在一行声明多个变量,并且是不同类型的,声明的变量可以不用初始化。变量可以存放不同类型的值。变量第一个字符必须是字母。下划线或美元符号,余下的可以是下划线、美元符号或任何字母或数字字符。变量名最好遵循Camel

2008-02-12 22:07:00 236

原创 第1章 JavaScript是什么

JavaScript组成:核心(ECMAScript)、文档对象模型(DOM)、浏览器对象模型(BOM)。ECMAScript描述的内容:语法、类型、语句、关键字、保留字、运算符、对象。ECMAScript定义了脚本语言的所有属性、方法和对象。JavaScript是ECMAScript的实现。ECMAScript现在处于第三版,ECMAScript符合性,Web浏览器对ECMAScript的支持。

2008-02-09 21:49:00 323

原创 第5章 模式导向的重构目录

 重构包括:名称、概要、动机、做法、示例、变体。

2008-02-04 13:19:00 308

原创 第4章 代码坏味

最常见的设计问题都出自这样的代码:重复,不清晰,复杂。代码坏味:重复代码、方法过长、条件逻辑太复杂、基本类型迷恋、不恰当的暴露、解决方案的蔓延、异曲同工的类、冗赘类、类过大、分支语句、组合爆炸、怪异解决方案。

2008-02-04 13:12:00 404

原创 第3章 模式

模式:每个模式都是一个由三部分组成的规则,它表达的是某一个环境、一个问题以及解决问题的方案之间的关系。模式痴迷:指某人对模式过于痴迷,以至于无法不在代码中使用模式。实现模式的方式不止一种。通过重构实现、趋向和去除模式。 

2008-02-04 11:12:00 429

原创 第2章 重构

重构:是一种对软件内部结构的改善,目的是在不改变软件的可见行为的情况下,使其更易理解,修改成本更低。重构过程包括去除重复、简化复杂逻辑和澄清模糊的代码。重构的动机:使新代码 的增加更加容易;改善既有代码的设计;对代码理解更透彻;提高编程趣味性可读性好的代码保持清晰循序渐进设计欠账演变出新的架构复合重构与测试驱动的重构复合重构:由多个低层次重构组成的高层次重构。复合重构的优点:描述了重构顺序的完整计

2008-02-04 09:55:00 779

原创 第1章 本书的写作缘由

通过模式实现模式、趋向模式和去除模式。不再是在预先设计中使用模式,也不再过早地在代码中加入模式,这来自于对极限编程设计实践的采用,避免了过度设计,又不至于设计不足。过度设计是指代码的灵活性和复杂性超出所需。设计不良:是指所开发的软件设计不良。测试驱动开发和重构。 重构与模式。演进式设计:不只应该关注优秀的解决方案,更要关注优秀的解决方案的演进过程。

2008-02-04 09:11:00 417

原创 子查询

 多表查询中使用子查询。 在子查询中使用聚合函数。 关系操作符:IN、EXISTS、SOME(ANY)、ALL、UNIQUE IN子查询实现自连接。 IN子查询实现集合交和集合差运算。 EXISTS只返回布尔值。 EXISTS子查询实现两表交集。 UNIQUE子查询。 相关子查询。 嵌套子查询。

2008-02-03 14:41:00 311

原创 多表查询

简单的二表连接,如果没有指明关系就是做笛卡尔积。更多表连接,只有同时存在于三个表中的条件都满足时才能被查询出来。表的别名。连接的种类:自然连接,内连接,外连接,交叉连接。自连接。自然连接。内连接:等值连接,不等连接。外连接:左外连接,右外连接,全外连接。交叉连接。UNION,对多表进行UNION运算,UNION  JOIN连接表。

2008-02-03 14:23:00 244

原创 聚合分析与分组

 聚合函数:SUM、MAX、MIN、AVG、COUNT、SUm只能作用于数值类型,忽略NULL值。COUNT必须指定一个列的名称或者使用星号,NULL列也被计算在内,结果可能不准确,如果计算某列,那么为NULL的不计算在内,可以计多列的行数。MAX函数可以是数值、字符串或是日期时间数据类型。要处理和多列查询时,要使用子查询。AVG函数忽略NULL值。GROUP BY子句。GROUP中将所有NULL

2008-02-03 11:14:00 269

原创 连接符、数值运算与函数

连接符号为+,||。要求被连接的多列具有相同或相近的数据类型。如果连接的列中有NULL,连接后的数据也为NULL。使用AS定义别名,where子句中不能使用列的别名,这和SQL的执行顺序有关。,表的别名可以。数学运算符的种类:+-*/%使用CAST表达式转换数据类型,可以改变值的数据类型,但是不能改变源列的数据类型。

2008-02-03 10:41:00 318

原创 复杂搜索条件查询

AND运算符,OR运算符, AND预算符优先级大于OR。IN运算符,与OR有相同的作用,优点是比较简便,并且IN后面可以接子查询。NOT预算符与LIKE通配符:只有CHAR、VARCHAR、TEXT类型数据才能使用LIKE运算符和通配符,包括%_[]*%任意个字符_一个字符[]只要出现任意一个就行前加^表示否定。ESCAPE定义转义字符,紧跟在转移字符之后的字符看作是实际值。

2008-02-03 09:46:00 513

空空如也

空空如也

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

TA关注的人

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