http://www.aboutyun.com/thread-6723-1-1.html http://www.cnblogs.com/z1987/p/5055565.html http://blog.csdn.net/lanchunhui/article/details/50893582 https://my.oschina.net/leejun2005/blog/82587 http://ww
hadoop的来源?hadoop起源于Nutch,Nutch是一个网络搜索引擎,由 Doug Cutting 这个人创建的。Nutch主要用构建一个大型的全网搜索引擎 , 包括网页抓取 、 索引 、查询等功能 , 但随着抓取网页数量的增加 , 遇到了严重的可扩展性问题 , 即不能解决数十亿网页的存储和索引问题 。 之后 , 谷歌发表的两篇论文为该问题提供了可行的解决方案 。由于谷歌仅开源了思想而未
#include<stdio.h>#include<stdlib.h>typedef struct{ int *pArr; int length;//数组最大容量 int cnt;//当前数组有效个数}SqList;void init_arr(SqList *,int length);void destroy_arr();void remove_arr(SqList *,i
whati is software source?software source is a houselive.it provide any softwares from sources.list.or it can be recognized as a address of server.we can assign this adress of server.so how to alter th
shell是什么东西?shell就是用户和操作系统之间的一个接口,当用户输入命令,shell用来解释成操作系统直接能运行的命令。在LINUX中有3类变量:环境变量和临时变量,内部变量。环境变量是永久性变量,其值不会随shell脚本执行结束而消失。而临时变量是在shell程序内部定义的,其使用范围仅限于定义它的程序。离开了程序就不能再用,而且当它得得程序执行完毕之后,就不能再使用了。内部变量就是一些
多个接口总归比一个接口好,不要用一个接口中有多个方法,这样做的坏处是实现这个接口的类,也必将重写其接口中的很多方法,长此以来的话,实现这个接口的类,也必要存在耦合性上升的问题。当某个类通过接口依赖于另外一个类,这只是一个情况,如果有多个类都依赖于这个接口,通过这个接口再去依赖别的类,那么它可能存在另外一个安全性问题。通过接口引用对象时候,也应该去屏蔽一些方法,这样做的好处是降低故障率。这就是接口隔
1.问题由来:类A直接依赖类B,假如要将类A改为依赖类C,则必须通过修改类A的代码来达成。这种场景下,类A一般是高层模块,负责复杂的业务逻辑;类B和类C是低层模块,负责基本的原子操作;假如修改类A,会给程序带来不必要的风险。2.解决方案:将类A修改为依赖接口I,类B和类C各自实现接口I,类A通过接口I间接与类B或者类C发生联系,则会大大降低修改类A的几率。(其实换成接口,可能下面的很多代码都不需要
传统的继承有其缺陷?良好的继承应该是在实现继承时,子类必须能够替换掉他们的基类,如果一个软件代码中使用的是基类的话,那么也一定可以使用其子类。里氏替换原则的好处保证了父类的复用性,同时也能够降低系统出错误的故障,防止误操作,同时也不会破坏继承的机制,这样继承才显得更有意义。指导原则。(1)子类可以实现父类的抽象方法,但是不能覆盖父类的非抽象方法。(2)子类中可以增加自己特有的方法。 &n
单一职责原则:就一个类而言,应该仅有一个引起它变化的原因。单一职责原则的好处是:一个类,只有一个引起它变化的原因。应该只有一个职责。每一个职责都是变化的一个轴线,如果一个类有一个以上的职责,这些职责就耦合在了一起。这会导致脆弱的设计。当一个职责发生变化时,可能会影响其它的职责。另外,多个职责耦合在一起,会影响复用性。例如:要实现逻辑和界面的分离。指导思想:在一个类中如果可能会有多个可能需要变化的东
开闭原则的含义是:一个软件实体应当对扩展开放,对修改封闭。开:是指对于组件功能的扩展是开放的,是允许对其进行功能扩展的。闭:是指对于原有代码的修改是封闭的,即不修改原有的代码。2.指导原则: 开闭原则无非就是想表达这样一层意思:用抽象构建框架,用实现扩展细节。因为抽象灵活性好,适应性广,只要抽象的合理,可以基本保持软件架构的稳定。而软件中易变的细节,我
1.
1.计算机编程思路体会?如果你只会用几个一维数组或者几个二维数组来进行编程,写算法的时候,那你编程仅仅刚入门而已。当遇到的问题比较复杂的时候,数组都没有办法存储,或者数组都没有办法表示,那你还行吗? 2.那如何设计数据结构 1)首先设计数据结构,来进行问题建模,来表示现实中的问题。
名词解释?扩展结点:一个正在生成孩子的结点成为扩展结点。活结点:一个自身已生成但其孩子还没有全部生成的的结点称为活结点。死结点:一个所有孩子已经生成的结点称为死结点。宽度优先搜索思想?先访问顶点v,并将其标记为已访问过;然后从v出发,依次访问v的邻接点(孩子节点)w1,w2,w3..wt,如果wi(i=1,2...t)未访问过,则标记wi为已访问过,并将其插入到队列中;然后在依次从从队列中取出w1
--vim编辑器讲解(vim(vi的升级版),推荐vim)打开文件(如果该文件不存在,则创建之后,保存,从内存写到硬盘上,不保存,则删除掉该文件)vim filenamevim编辑器有3中模式:命令模式,插入模式,尾行模式。命令模式:刚进入文件的时候开始的状态。u为撤销键命令模式进入插入模式:可以通过快捷键i:光标之前(insert)I:行首a:光标之后(append)A:行尾o:下一行(over
--用户管理讲解在Linux中,每个用户都有一个账号,并且对于不同的系统资源拥有不同的使用权限系统账号可以分为两种类型:(1)用户账号(每个用户都拥有一个uid,gid)1.管理员root用户和普通账户(2)组账号1.通过使用组账号,可以设置一组用户对文件具有相同的权限2.管理员以组为单位分配对资源的访问权限,例如读取,写人或执行的权限从而可以节省日常的维护时间。2.可以通过组设置批量创建用户账号
搜索法有3种穷举法(结出所有解,进行判断是否满足给定约束),深度优先搜索和宽度优先搜素。深度优先搜索思想?给定图G=(V,E)。深度优先搜索思想:初始时,所有顶点均未被访问过,任选一个顶点v作为源点。该方法先访问源点v,并将其标记标记已访问过(通常用数组visit[i]的值来标记是否访问过);然后从v出发,选择v的下一个邻结点w,如果w已经访问过,则选择v的另一个邻结点;如果w未访问过,则标记w为
什么是动态规划算法?动态规划算法其实质就是分治思想和解决冗余。因此它与分治法和贪心法类似,都是将待求解问题分解为更小的,相同的子问题,然后对子问题进行求解,最终产生一个整体最优解。适合采用动态规划法求解的问题,经分解得到的各个子问题往往不是相互独立的。在求解过程中,将已解决的子问题的解进行保存,在需要时可以轻松地找出。示例如下:Fibonacci数列 0
什么是贪心算法?贪心算法从步步最优,到达全局最优。什么时候能够使用贪心算法?一般来说,凡是经过数学归纳法证明可以采用贪心法的情况都应该采用它,因为它具有高效性。通常还有另外一个方法来判断,如果一个问题具有这两大性质,那么使用贪心法来对其求解总能求得最优解。1.最优子结构性质当一个问题的最优解一定包含其子问题的最优解时,称此问题具有最优子结构性质。如何理解?换句话说:最优解一定是子问题的最优解组合而
1.元音字母互换,不会改变其大致意思。sit sat sid saddle 等等,都有坐的意思 settle down定居de:情感是向下的。d:有不动的意思。lot let ot et=小 (blot 污点)out 有向外延伸 outlive;比活的长久en:使动用法able:形容词可以什么ple:补充,更随well:名词有井的意思.age有年代年份的意思. kin:2.overva
什么是分治法?分治法的基本思想是将一个难以直接解决的大问题,分解成一些规模较小的相同问题,以便各个击破,分而治之。何时能,何时用分治法来解决这些问题比较好呢?这些问题应当具备这几个特征:(1)问题的规模缩小到一定程度就可以容易的解决了。(2)问题可以分解为若干个规模较小的相同子问题。(3)问题所分解成各个子问题是相互独立的,即子问题之间不包含公共的子问题。(4)问题分解出的子问题的解可以合并为原问
学习英语语法,首先要了解英语有哪些句型?从轮廓上大致知道英语的形,从而能够建立对英语的初步认识。英语句子分为5中基本句型1.主谓(i do)2.主谓宾(l like you) 3.主谓双宾(i buy you gifts) 4.主谓宾补(you make me happy) 5.主系表(l am a boy)英语中都有哪些成分?由形在到内部详细构造,主要有定语,同位语,插入语,状语,(其他不再多说
动态名词其本质就是名词和介词的组合达到动词的效果在英文翻译的时候,名词可以直接翻译为动词在中文写英文翻译的时候,可以考虑动态名词(名词+介词)
什么是非谓语?非谓语反正不是做谓语,可能做主语,宾语,定语,状语,表语等。非谓语三种结构?1.ing -- 要么是主语,要么是定语,要么是状语,做主语直接当成名词翻译,做定语当成定语从句翻译,做状语,当成9大状语从句来翻译,注意关系。2.to do3.过去分词独立主格表示状语,9大状语去找匹配类型。将两个不相关的句子合并为一个句子,还不是复合句。
倒装句的目的?倒装句达到的效果就是让读者感觉到奇怪,进而达到注意,从而强调。强调句强调的是某个成分而已。完全倒装的形式有两种:第一种是 表语(介词短语,形容词,副词)+联系动词+主语(原始:主+系+表)第二种是 状语(介词短语,副词,there)+vi+subject(原始是:主语+vi+状语)翻译1.不管
状语的识别?1.副词(副词可以使修饰句子或者谓语)2.过去分词3.现在分词4.动词不定式5.几次短语6.独立主格状语从句的由来?状语也是有多个独立的句子合并而成进而省略成一个复合句。状语从句有9大分类(时间,地点,方式,原因,目的,结果,条件,让步,比较)什么是名词性从句?名词性从句有4种,主语从句,宾语从句,表语从句,同位语从句名词性从句,定语从句,状语从句,它们是从何而来的。它们都是多个简单句
同位语的识别在一个名词或者句子后出现的解释和说明作用的的另一个名词结构为前一名词或句子的同位语,使句子更加正式,更加容易理解同位语识别(A,B大部分是名词,偶尔是句子)A,B, B是同位语A-B- B是同位语A of B the disease of cancer 直接翻译后面(A,是B的上义词,B范围更小点,直接翻译B)句子"-"或
定语的识别?1.前置定语(忽略不计)2.后置定语后置定语(1.形容词性短语 2.现在分词短语,翻译时直接翻译ing--->名词,的xx 3.过去分词,翻译时可以倒着翻译名词--->ed,的xx 4.动词不定式to do 名词 5.介词短语)对待定语从句的由来?个人理解,仅仅是从英语语法上进行理解,就是将多个基本的简单与构成一个复合句,这样大大缩短了句型,达到了简化了英语的目的,使英语更
gcc和g++区别?两者都是编译器,一般用gcc来编译c文件,g++来编译cpp文件,其实gcc也可以来编译c++文件,只不过在链接的时候,gcc不会主动连接C++库。安装gcc和g++的方式有2种?一种是离线安装rpm,另外一种是yum(在线升级)源程序从编写到执行需要的步骤源程序经过编译经过编译和汇编生成目标程序(*.obj)visual c++ 6.0中就有目标程序在经过链接,然后链接生成可
1.RPM简介?RPM 全名是『 RedHat Package Manager 』简称则为 RPM。RPM 是以一种数据库记录的方式来将你所需要的套件安装到你的 Linux 主机的一套管理程序。他最大的特点就是将您要安装的套件先编译过( 如果需要的话 )并且打包好了,透过包装好的套件里头预设的数据库记录, 记录这个套件要安装的时候必须要的相依属性模块( 就是你的 Linux 主机需要先存在的几个必
1.思科路由器配置有哪些大的方向?在我们的计算机网络配置中,或者小型企业中,主要干的事情就是组网。组网里面涉及到很多问题。第一个就是如何划分局域网。第二个就是局域网与局域网如何连接。第三个就是内网和外网的访问权限配置。2.基本概念了解?网关(管理IP地址):一个网络的出口,当在一个局域网访问另外一个局域网的时候,就需要用到网关了,网关,对其进行控制,让其出去访问其他局域网,如果是在局域网内部互访,
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号