Hadoop2中的Yarn是一个分布式计算资源的管理平台,由于其有极好的模型抽象,非常有可能成为分布式计算资源管理的事实标准。其主要职责将是分布式计算集群的管理,集群中计算资源的管理与分配。Yarn为应用程序开发提供了比较好的实现标准,Spark支持Yarn部署,本文将就Spark如何实现在Yarn...
分类:
其他好文 时间:
2014-05-16 04:20:26
阅读次数:
455
匿名内部类也就是没有名字的内部类正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口实例1:不使用匿名内部类来实现抽象方法12345678910111213141516abstractclassPerson
{publica...
分类:
编程语言 时间:
2014-05-16 03:55:43
阅读次数:
345
使用new的Code都违反了DIP.但是,依赖于稳定的具体类,是无害的.例如string.另一方面,对于正在开发中的APP,很多具体类是易变的.此时应该依赖于抽象接口.Factory模式:只依赖于抽象接口就能创建出具体对象的实例.对Test
Fixture使用工厂编写UT时,希望把一个模块和它使用的...
分类:
其他好文 时间:
2014-05-15 13:43:56
阅读次数:
312
工厂方法(FactoryMethod)模式简介
编辑
工厂方法(FactoryMethod)模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品。
工厂方法模式是简单工厂模式的衍生...
分类:
其他好文 时间:
2014-05-15 12:11:19
阅读次数:
311
Ejb拦截器可以监听程序中的一个或所有方法。与Struts2中拦截器同名,而且他们都能够实现切面式服务。同时也与Spring中的AOP技术类似。
不同的是struts2的拦截器的实现原理是一层一层的拦截器包住一个action,拦截Action请求,在自己的拦截器里面自定义内容。
Struts2中的拦截器可以说是个过滤器,把不想要或不想显示的内容过滤掉。拦截器可以抽象出一部分代码...
分类:
其他好文 时间:
2014-05-15 02:55:49
阅读次数:
219
继承和组合的使用原则:
1、很多资料中提到的一点,如果两个类之间是is-a的关系,那么就使用继承,而如果是has-a的关系就使用组合。
但是这也不是代表is-a是使用继承的绝对理由,有时候为了消除继承关系带来的耦合,使用组合可以更好的实现封装细节。
如果在一个系统中大量应用继承,继承层次深了,那么会给系统的开发和维护带来困难。
2、无论何时,如果...
分类:
其他好文 时间:
2014-05-15 01:38:59
阅读次数:
240
接口:
是一些方法特征的集合,而这些方法可以被多个实现类去各自实现。
接口主要特征:
1、接口中的成员变量隐士的被定义为公开的静态常量
2、接口中的方法是抽象的,并且必须是公开的
3、接口是用来被类实现的或者被接口继承的,其不能有自己的构造子
接口的作用:
接口是实现松耦合的重要手段,它描述了系统对外公开的所有服务...
分类:
编程语言 时间:
2014-05-15 01:13:55
阅读次数:
333
栈 队列 优先级队列
本章涉及到的三种存储数据类型:栈 队列 优先级队列
本章涉及到的存储数据类型是算法构思的辅助工具,而不仅仅是存储数据的工具。数据结构的生命周期比较短,在程序结束时,对应的数据结构的生命周期随之结束。
栈 队列 优先级队列是比较抽象的数据结构,通过接口对三种数据结构进行定义和实现,而实现的过程对用户来说是屏蔽的。
栈 (后进先出)
栈只允许访问一个数据项,即最后...
分类:
其他好文 时间:
2014-05-15 01:11:25
阅读次数:
179
一、定义
所谓软件架构,指的是软件系统的整体结构,包括软件子元素,这些元素的外部属性以及元素元素之间的关系。
这个定义包含了以下三层意思:
(1)软件架构是对系统的抽象。它不仅规定了系统有哪些主要软件元素或模块,还定义了这些元素之间是如何交互的。它并不暴露每个元素的内部属性(也叫局部信息),也就是说每个子模块的私有信息是不划归到软件架构的范畴的。需要注意的...
分类:
其他好文 时间:
2014-05-14 21:29:40
阅读次数:
291
问题
最近项目中遇到了一个分布式系统的并发控制问题。该问题可以抽象为:某分布式系统由一个数据中心D和若干业务处理中心L1,L2 ... Ln组成;D本质上是一个key-value存储,它对外提供基于HTTP协议的CRUD操作接口。L的业务逻辑可以抽象为下面3个步骤:
read: 根据keySet {k1, ... kn}从D获取keyValueSet {k1:v1, ... kn:vn...
分类:
Web程序 时间:
2014-05-14 21:10:05
阅读次数:
474