一、概述
动态地给一个对象增加一些额外的职责,就增加对象功能来说,装饰模式比生成子类实现更为灵活。装饰模式是一种对象结构型模式。装饰模式是一种用于替代继承的技术,使用对象之间的关联关系取代类之间的继承关系。在装饰模式中引入了装饰类,在装饰类中既可以调用待装饰的原有类的方法,还可以增加新的方法,以扩充原有类的功能。二、适用场景
装饰原有对象、在不改变原有对象的情况下扩展增强新功能/新特征.。当不能...
分类:
编程语言 时间:
2015-03-09 22:33:44
收藏:
0 评论:
0 赞:
0 阅读:
286
题目:大概意思就是给定一个序列a[0],a[1]....a[n-1]和一个整数k,问是否有这样的两个下标是的NP-Sum(i,j)=k,这里NP-Sum(i,j)=a[i]-a[i+1]+a[i+2]-...+(-1)^(j-1)*a[j]。
思路:我们可以维护这个序列的后缀和(前缀也是可以的),然后枚举sum[i]查看在set表中是否存在sum[j]=sum[i]-k。
这里要分成i...
分类:
其他 时间:
2015-03-09 22:33:33
收藏:
0 评论:
0 赞:
0 阅读:
314
/*
若正整数n是它的平方数的尾部,则称n为守形数,又称同构数.
例如:6是其平方数36的尾部,76是其平方数5776的尾部,6和76都是守形数.
这些也是:
6^=36
25^2=625
76^2=5776
376^=141376
625^=390625
编程技巧:
1.传统的用一个计数变量count,然后循环体中一直number/10,count计数,最后的count就是位数
2.直接用log...
分类:
其他 时间:
2015-03-09 22:33:23
收藏:
0 评论:
0 赞:
0 阅读:
558
本篇博客可认为是对 使用java实现http多线程下载 一文的再次解读。
首先,从宏观来说
java实现多线程下载这个功能的实现由以下几部分组成:
1 建立多个线程去分别下载文件的一部分。
2 将多个线程下载的文件(还在内存中),写入硬盘中的一个文件。
3 断点续传
GET /Path/FileName HTTP/1.0
Host: www.server.com:8...
分类:
编程语言 时间:
2015-03-09 22:33:13
收藏:
0 评论:
0 赞:
0 阅读:
300
Hadoop不是万能的,有些场景适用,有些不适用。
Hadoop设计的目的主要包括下面几个方面,也就是所谓的适用场景:
1:超大文件
可以是几百M,几百T这个级别的文件。
2:流式数据访问
Hadoop适用于一次写入,多次读取的场景,也就是数据复制进去之后,长时间在这些数据上进行分析。
3:商业硬件
也就是说大街上到处都能买到的那种硬件,这样的硬件故...
分类:
其他 时间:
2015-03-09 22:33:03
收藏:
0 评论:
0 赞:
0 阅读:
311
概念:
HDFS会把一个很大的文件分块(与传统的文件系统类似),存放在不同的DataNode上。不过这个块是个逻辑概念,比较大,默认是64M。
Hadoop以“管理者-工作者”模式运行。NameNode就是管理者,它保存了文件系统中所有文件以及目录信息。也记录了每个文件的分块信息。但这些分块具体在哪些机器上存储则由DataNode自己上报。
容错:
NameNode的容错:
所有的文...
分类:
其他 时间:
2015-03-09 22:32:53
收藏:
0 评论:
0 赞:
0 阅读:
285
读取文件:
下图是HDFS读取文件的流程:
这里是详细解释:
1.当客户端开始读取一个文件时,首先客户端从NameNode取得这个文件的前几个block的DataNode信息。(步骤1,2)
2.开始调用read(),read()方法里,首先去读取第一次从NameNode取得的几个Block,当读取完成后,再去NameNode拿下一批Block的...
分类:
其他 时间:
2015-03-09 22:32:43
收藏:
0 评论:
0 赞:
0 阅读:
385
Solaris 10 虚拟机探究(2) 添加文件系统...
分类:
其他 时间:
2015-03-09 22:32:33
收藏:
0 评论:
0 赞:
0 阅读:
324
这段时间用VS2013写代码的时候,一不小心就出现了这个提示,这个问题困扰了我一段时间,不过总算解决了,这里记录一下!
我这里先描述本人碰到的问题:
正如上图所见,一段在我们眼里看起来没有任何错误的代码,居然爆出了4430的错误,先不急,我们先看一看DlgAddAccount.h文件中包含的头文件:
再看一看AddAccountInfoDlg.h中包...
分类:
其他 时间:
2015-03-09 22:32:23
收藏:
0 评论:
0 赞:
0 阅读:
325
zygote
有时候会遇到报有关zygote的错,这是个什么东西呢,简单理解就是孵化池。
当每个新的进程启动虚拟机的一个新的实例时,如果每次都加载所有必要的基类,则效率会很低。android把每个应用放在独立的进程中,他会利用底层linux操作系统的fork操作,通过模板进程生成新的进程,该进程在启动新的虚拟机实例时能够达到最优状态,该模板进程的名字就是zygote。zygote模板进程是dal...
分类:
其他 时间:
2015-03-09 22:32:13
收藏:
0 评论:
0 赞:
0 阅读:
352
Given an array of size n, find the majority element. The majority element is the element that appears more than ?
n/2 ? times.
You may assume that the array is non-empty and the majority element ...
分类:
其他 时间:
2015-03-09 22:32:03
收藏:
0 评论:
0 赞:
0 阅读:
301
StrictMode StrictMode最常用来捕捉应用程序的主线程,它将报告与线程及虚拟机相关的策略违例。一旦检测到策略违例(policy violation),你将获得警告,其包含了一个栈trace显示你的应用在何处发生违例。除了主线程,我们还可以在Handler,AsyncTask,AsyncQueryHandler,IntentService等API中使用StrictMod...
分类:
其他 时间:
2015-03-09 22:31:53
收藏:
0 评论:
0 赞:
0 阅读:
545
/*
题目描述:
输入一个N维矩阵,判断是否对称。
输入:
输入第一行包括一个数:N(1<=N<=100),表示矩阵的维数。
接下来的N行,每行包括N个数,表示N*N矩阵的元素。
输出:
可能有多组测试数据,对于每组数据,
输出"Yes!”表示矩阵为对称矩阵。
输出"No!”表示矩阵不是对称矩阵。
样例输入:
4
16 19 16 6
19 16 14 5
16 14 16 3
6 5 3 ...
分类:
其他 时间:
2015-03-09 22:31:43
收藏:
0 评论:
0 赞:
0 阅读:
367
response.ContentType = "text/xml"
response.Write("")
response.Write("")
response.write("John")
response.Write("George")
response.Write("Don't forget the meeting!")
response.Write("")
%>
...
分类:
其他 时间:
2015-03-09 22:31:34
收藏:
0 评论:
0 赞:
0 阅读:
238
1、错误描述
java.lang.NoClassDefFoundError:org/hamcrest/SelfDescribing
2、错误原因
将junit-4.11.jar导入到lib目录中,出现错误;junit-4.11.jar中不包含Hamcrest
3、解决办法
在junit-4.11.jar导进去后,再导进去hamcrest-core-1.3.jar...
分类:
编程语言 时间:
2015-03-09 22:31:23
收藏:
0 评论:
0 赞:
0 阅读:
358
题目:
Merge k sorted
linked lists and return it as one sorted list. Analyze and describe its complexity.
思路:
解法一:维护一个大小为k的堆,每次去堆顶的最小元素放到结果中,然后读取该元素的下一个元素放入堆中,重新维护好。因为每个链表是有序的,每次又是去当前k个元素中最小的,...
分类:
其他 时间:
2015-03-09 22:31:13
收藏:
0 评论:
0 赞:
0 阅读:
328
[ 什么是倒排索引 ]
索引:就好比是书的目录,通过目录我们可以快速的找到对应的章节。
倒排索引源于实际应用中需要根据属性的值来查找记录,例如:通过文章中的单词找到对应的文章。
[ 倒排索引例子 ]
假设有三篇文章,内容分别为:
文章1: it is what it is
文章2:what is it
文章3:it is a ban...
分类:
编程语言 时间:
2015-03-09 22:31:03
收藏:
0 评论:
0 赞:
0 阅读:
286
uva 714 Copying BooksBefore the invention of book-printing, it was very hard to make a copy of a book. All the contents had to be re-written by hand by so called scribers. The scriber had been given a...
分类:
其他 时间:
2015-03-09 22:30:53
收藏:
0 评论:
0 赞:
0 阅读:
427
相信大家也不是第一次听说过委托这个概念,之前一直了解,却没有去好好地总结,正好最近有机会,让我们来看看到底什么是委托吧?
首先,我们要知道什么是委托?
委托是一种特殊的类型(class),用途是来实现对一种方法的封装。在某种事件发生时,自动调用该方法。
一个委托代表了具有相同参数列表和返回值的所有函数。类是对象的抽象,委托是函数的抽象。
简单理解Delegate委托(或代理)是...
分类:
Web开发 时间:
2015-03-09 22:30:43
收藏:
0 评论:
0 赞:
0 阅读:
336
C++中默认构造函数就是没有形参的构造函数。准确的说法,按照《C++ Primer》中定义:只要定义一个对象时没有提供初始化式,就是用默认构造函数。为所有 的形参提供默认实参的构造函数也定义了默认构造函数。
合成的默认构造函数,即编译器自动生成的默认构造函数。《C++ Primer》中的说明:一个类哪怕只定义了一个构造函数,编译器也不会再生成默认构造函数。这条规则的根据是,如果一个类再某种情况下...
分类:
编程语言 时间:
2015-03-09 22:30:34
收藏:
0 评论:
0 赞:
0 阅读:
357