软件工程
文章平均质量分 57
荒岛码农
这个作者很懒,什么都没留下…
展开
-
JDK中设计模式
原文地址; http://blog.csdn.net/gtuu0123/article/details/6114197#本文主要是归纳了JDK中所包含的设计模式,包括作用和其设计类图。首先来个总结,具体的某个模式可以一个一个慢慢写,希望能对研究JDK和设计模式有所帮助。一、设计模式是什么(1)反复出现问题的解决方案(2)增强软件的灵活性(3)适应软件不断变化转载 2012-04-04 23:24:03 · 323 阅读 · 0 评论 -
MapReduce Design Patterns(3.过滤器、布隆过滤器)(五)
http://blog.csdn.net/cuirong1986/article/details/8465630Chapter 3. Filtering Patterns本章的模式有一个共同点:不会改变原来的记录。这种模式是找到一个数据的子集,或者更小,例如取前十条,或者很大,例如结果去重。这种过滤器模式跟前面章节的不同是,从更小的粒度认识数据,例如特殊用户转载 2014-12-29 16:34:43 · 1866 阅读 · 0 评论 -
MapReduce Design Patterns(chapter 1)(一)简介
http://blog.csdn.net/cuirong1986/article/details/8443841Chapter 1. Design Patterns and MapReduceMapReduce 是一种运行于成百上千台机器上的处理数据的框架,目前被google,Hadoop等多家公司或社区广泛使用。这种计算框架是非常强大,但它没有提供一个处理转载 2014-12-29 15:46:36 · 576 阅读 · 0 评论 -
Setting up GlassFish for JMS
from: <a rel="nofollow" href="https://www.packtpub.com/article/setting-glassfish-jms-working-with-message-queues">https://www.packtpub.com/article/setting-glassfish-jms-working-with-message-queues原创 2014-05-28 08:43:07 · 721 阅读 · 0 评论 -
MapReduce Design Patterns(7、输入输出模式)(十四)
http://blog.csdn.net/cuirong1986/article/details/8528317External Source InputPattern Description这种模式不从hdfs加载数据,而是从hadoop以外系统,例如RDB或web service加载。Intent想要从非MapReduce框架的系统并行加载数据。Moti转载 2014-12-29 17:54:26 · 487 阅读 · 0 评论 -
MapReduce Design Patterns(7、输入输出模式)(十三)
http://blog.csdn.net/cuirong1986/article/details/8510162CHAPTER 7.Input and Output Patterns本章关注一个最经常忽略的问题,来改进MapReduce 的value:自定义输入和输出。我们并不会总使用Mapreduce本身的方式加载或存储数据。有时,可以跳过在hdfs存储数转载 2014-12-29 17:41:56 · 1104 阅读 · 0 评论 -
MapReduce Design Patterns(6 、Job 链)(十二)
http://blog.csdn.net/cuirong1986/article/details/8502460Chain Folding这是对job 链的一种优化。基本上是一种大体规则:每条记录都会提交给多个mapper,或者给reducer然后给mapper。这种综合处理方法会节省很多读文件和传输数据的时间。多个job的结构通常这样处理是可行的,因为map阶段是完全无共享的转载 2014-12-29 17:34:04 · 603 阅读 · 0 评论 -
MapReduce Design Patterns(6. Job链)(十一)
http://blog.csdn.net/cuirong1986/article/details/8492804Chapter 6. Meta patterns这种模式不是解决某个问题的,而是处理模式的关系的。可以理解为“模式的模式”。首先讨论的是job链,把几个模式联合起来解决复杂的,有多个阶段要处理的问题。第二个是job 合并,用相同的MapReduce job转载 2014-12-29 17:26:36 · 539 阅读 · 0 评论 -
MapReduce Design Patterns(5.表连接)(九)
http://blog.csdn.net/cuirong1986/article/details/8485273Chapter 5. Join Patterns把数据保存成一个巨大的数据集不是很常见。例如,用户信息数据频繁更新,所以要保存到关系数据库中。于此同时,web日志以恒定的数据流量增加,直接写到HDFS。这些日志的日常分析过的数据保存在hdfs的某个转载 2014-12-29 17:10:37 · 713 阅读 · 0 评论 -
MapReduce Design Patterns(4. 分层,分区)(七)
http://blog.csdn.net/cuirong1986/article/details/8476368Chapter 4. Data Organization Patterns与前面章节的过滤器相比,本章是关于数据重组。个别记录的价值通常靠分区,分片,排序成倍增加。特别是在分布式系统中,因为这能提高性能。 在很多组织结构方面,Had转载 2014-12-29 16:53:23 · 1485 阅读 · 0 评论 -
MapReduce Design Patterns(4、分箱、全排序、混洗)(八)
http://blog.csdn.net/cuirong1986/article/details/8481075BinningPattern Description分箱模式,跟前面的类似,分类记录且不考虑记录的顺序。Intent归档数据集中的每条记录到一个或多个类别。Motivation分箱和分区很相似,可以用来解决相同的问题。不同点转载 2014-12-29 17:01:52 · 1714 阅读 · 0 评论 -
笔记:MapReduce Design Patterns
1、求最大值、最小值、总值、个数、平均值:如给出用户发帖的第一次时间、最后一次时间、评论总数、帖子平均长度 等。解决:定义一个 类CaculateObj实现 Writable 接口,以用户ID为Key,在Map/Reduce阶段向HDFS写入的是 CaculateObj 对象,这样一个MapReduce 程序可以完成所有操作。最大值、最小值、总数、个数 可以用Combiner , 平均原创 2014-12-30 11:55:31 · 605 阅读 · 0 评论 -
常见设计模式举例 转载有改动
下面是JDK中有关23个经典设计模式的示例,在stakeoverflow也有相应的讨论:http://stackoverflow.com/questions/1673841/examples-of-gof-design-patterns红色为本人添加Structural(结构模式) Adapter:把一个接口或是类变成另外一种。java.util.Arrays#asLi原创 2014-05-28 08:44:03 · 403 阅读 · 0 评论 -
MapReduce Design Patterns(5.表连接))(十)
http://blog.csdn.net/cuirong1986/article/details/8489248Replicated JoinPattern Description复制join是一种特殊的join,用于一个大数据和许多小数据集map端执行的情况。Intent这种模式能够消除reduce阶段的shuffle。Motivation转载 2014-12-29 17:20:04 · 645 阅读 · 0 评论 -
MapReduce Design Patterns(3. Top Ten))(六)
http://blog.csdn.net/cuirong1986/article/details/8469448Top TenPattern DescriptionTop ten模式跟前面的有很大的不同,跟输入数据大小无关,最终得到的记录数量是确定的。而在通用filtering中,输出的规模取决于输入数据。Intent根据数据集的排名,获取相对较小的转载 2014-12-29 16:42:55 · 1173 阅读 · 0 评论 -
MapReduce Design Patterns(2. 中位数、方差)(三)
http://blog.csdn.net/cuirong1986/article/details/8455335Median and standard deviation中值和标准差的计算比前面的例子复杂一点。因为这种运算是非关联的,它们不是那么容易的能从combiner中获益。中值是将数据集一分为两等份的数值类型,一份比中值大,一部分比中值小。这需要数据集按顺序完成清洗。转载 2014-12-29 16:10:45 · 2269 阅读 · 0 评论 -
MapReduce Design Patterns(2. 最大值、最小值、总数、个数、均值)(二)
http://blog.csdn.net/cuirong1986/article/details/8451336CHAPTER 2 .Summarization Patterns随着每天都有更多的数据加载进系统,数据量变得很庞大。这一章专注于对你的数据顶层的,概括性意见的设计模式,从而使你能扩展思路,但可能对局部数据是不适用的。概括性的分析都是关于对相似数据的分组和转载 2014-12-29 16:00:32 · 2321 阅读 · 0 评论 -
多态与重载
http://blog.sina.com.cn/s/blog_4b00fd1b0100bad5.html转载 2014-09-18 17:17:45 · 395 阅读 · 0 评论 -
JAVA 封装, 继承, 多态
1、封装封装:把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。是软件设计模块化、软件复用和软件维护的一个基础。属性的封装:java中类的属性的访问权限的默认值不是private,要想隐藏该属性,需加private(私有)修饰符,来限制只能够在类的内部进行访问。对于类中的私有属性,必须对其给出一对方法(getXxx(),se转载 2014-09-18 17:02:27 · 474 阅读 · 0 评论 -
笔记:J2EE核心模式(待补充)
一.表现层模式1.拦截过滤器:2.前端控制器3.context对象4.应用控制器5.视图助手6.复合视图7.服务到工作者8.分配器视图二、业务层模式1、业务代表2.服务定位器3.会话门面4.应用服务5.业务对象6.复合实体7.传输对象8.传输对象组装器9.值列表处理器三、集成层1、数据访问对象2.服务激活器3.原创 2014-05-28 08:45:55 · 371 阅读 · 0 评论 -
笔记:设计模式总结
一.面向对象设计原则:1. 单一职责原则 Single ResponsibilityPrinciple应该有且只有一个原因引起类的变更。2. 里氏替换原则 Liskov Substitution Principle所有引用基类的地方必须能透明地使用其子类对象。子类中方法的前置条件范围 >=父类中被复写方法的前置条件。如果子类不能完整地实现父类的方法,或者父类的方法在子类中已经原创 2014-05-28 08:45:51 · 378 阅读 · 0 评论 -
常见架构风格举例总结
1. 管道-过滤器风格 特征:每个功能构件都有一组输入输出,过滤器独立完成自身的功能,相互之间无须进行状态交互;各过滤器无须知道输入管道与输出管道所连接的过滤器的存在,仅仅保证自己的输入输出,不必理会其余过滤器。 优点:减少构件之间的耦合;容易维护和扩展;易于分析。 缺点:缺乏交互性。 举例:Linux Shell的管线;数字通信系统。2. 面向对象风格原创 2014-05-28 08:45:27 · 1933 阅读 · 0 评论 -
MapReduce Design Patterns(3. 反向索引、计数器)(四)
http://blog.csdn.net/cuirong1986/article/details/8456923Inverted Index SummarizationsPattern Description反向索引模式在MapReduce分析中经常作为一个例子。我们将会讨论我们要创建的term跟标识符之间映射的一般情况。 Intent根据数转载 2014-12-29 16:19:33 · 709 阅读 · 0 评论