自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

西青年·部落格

Deep rivers move in silence, shallow brooks are noisy.

  • 博客(58)
  • 资源 (1)
  • 收藏
  • 关注

原创 Android Studio 2.0 NDK 开发教程(一)

重要提醒:对于现阶段的AS NDK而言,读者往往因为各项参数配置的不合理而出错,这是读者最关心的。本文的各项参数对应关系如下:(1)Android Studio 版本:2.0;(2)compileSdkVersion = 23;(3)buildToolsVersion = "23.0.3";(4)gradle-experimental版本:com.android.t

2016-05-03 22:12:32 3684 1

原创 Ubuntu11.04不能连无线网络的解决方法

1.问题原因:首先,不是因为缺少驱动。然后往下看:原因是 系统中的acer-wmi模块并不能支持Atheros无线网卡,但是却告诉系统自己能支持该无线网卡,所以用上该模块,系统的无线网络就始终不能用。2.解决方法:禁用acer-wmi模块,并且拉黑,永久禁用。3.具体做法:(1)在命令窗口执行:sudo rmmod acer-wmi ,马上就会发现无线网络可以用

2016-02-27 23:06:47 936

转载 对称加密和分组加密中的四种模式(ECB、CBC、CFB、OFB)

转载自:http://www.cnblogs.com/happyhippy/archive/2006/12/23/601353.html一. AES对称加密:                                                      AES加密                         分组  二. 

2015-11-21 17:36:04 1111

转载 视图、索引、存储过程的优缺点

转载自博客园:http://www.cnblogs.com/SanMaoSpace/p/3147059.html1.视图(1).什么是视图?视图(View)作为一种数据库对象,为用户提供了一个可以检索数据表中的数据方式。用户通过视图来浏览数据表中感兴趣的部分或全部数据,而数据的物理存储位置仍然在表中。视图是一个虚拟表,并不代表任何物理数据,只是用来查看数据的窗口而已。视图并

2015-10-20 11:20:02 768

转载 数字证书原理(转载)

转载自博客园:http://www.cnblogs.com/JeffreySun/archive/2010/06/24/1627247.html文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现所起的作用。接着对数字证书做一个详细的解释,并讨论一下windows中数字证书的管理,最后演示使用makecert生成数字证书。如果发

2015-07-01 10:09:04 711

原创 《从0到1》阅读笔记

Chapter 1.未来的挑战:需要用创新科技(从0到1)来解决,而非简单的全球化(从1到n)。Chapter 2.像1999年那样狂欢:尽管1999年互联网狂欢以悲剧结束,但是我们现在依然需要有那时的热情和精神进行创新。Chapter 3.所有成功的企业都是不同的:他们都在各自的领域有一定程度的垄断。尽管垄断企业喜欢夸大自己的经营范围显得自己从来不构成垄断,而

2015-06-27 14:49:58 1175

原创 Eclipse不能调试手机的解决方法

一、场景我们有时候希望用手机调试Android程序,但是连接手机到电脑上之后,却显示不出手机设备,无法用手机进行调试。二、原因一般有两个原因:(1)adb的问题;(2)电脑没有安装手机驱动。三、解决方法(1)关闭Eclipse。然后,在Eclipse目录下的platform-tools文件夹下面(就是adb程序所在的文件夹),shift+右键,以管理员权限打开CMD;(2)

2015-03-06 22:01:40 3299

原创 win7开启热点时“无法启动承载网络”的解决方法

一、win7下开启热点的步骤(1)netsh wlan set hostednetwork mode=allow ssid=wuminPC key=wuminWiFi(2)netsh wlan start hostednetwork当然,还需要把本地连接设置为共享的,具体见:http://jingyan.baidu.com/article/5d368d1e3e499b3f61c0576

2015-03-04 21:31:58 7753

原创 大话设计模式C++实现-第25章-中介者模式

一、UML二、角色三、优缺点四、C++实现

2015-01-06 11:59:51 1691 1

原创 大话设计模式C++实现-第28章-访问者模式

一、UML图二、概念访问者模式(Visitor):表示一个作用于某对象结构中的各元素的操作。它是你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。三、说明(1)访问者模式适用于数据结构相对稳定的系统?是的。它把数据结构和作用于数据结构上的操作之间的耦合解脱开,使得操作集合可以相对自由地演化。(2)访问者模式的目的?访问者模式的目的是要把

2014-12-31 16:34:20 1486 1

原创 大话设计模式C++实现-第27章-解释器模式

一、UML图二、概念三、说明四、C++实现(1)Expression.h#ifndef FLYWEIGHT_H#define FLYWEIGHT_H#include #include #include #include //Context,此处为演奏内容类class PlayContext{private: std::string

2014-12-29 17:58:22 1653 1

原创 大话设计模式C++实现-第26章-享元模式

一、UML图二、概念享元模式(Flyweight):运用共享技术有效地支持大量细粒度的对象。三、说明角色:(1)Flyweight类:它是所有具体享元类的超类或接口,通过这个接口,Flyweight可以接受并作用于外部状态。(2)ConcreteFlyweight类:继承Flyweight超类或实现Flyweight接口,并为内部状态增加存储空间。

2014-12-28 15:47:45 1446

原创 大话设计模式C++实现-第24章-职责链模式

一、UML图二、概念三、说明 四、C++实现(1)ChainOfResponsibility.h(2)Client.cpp(3)运行截图

2014-12-25 22:47:41 1330 2

原创 大话设计模式C++实现-第23章-命令模式

一、UML图二、概念命令模式(Command):将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化,对请求进行排队或记录请求日志,以及支持可撤销的操作。三、说明角色:(1)Command类:用来声明执行操作的接口。(2)ConcreteCommand类:将一个接收者对象绑定与一个动作,调用接收者相应的操作,以实现Excute。(3)

2014-12-23 19:02:00 1403

原创 typeid()的用法

#include "Command.h"#include #include //基类Aclass A{public: //虚函数 virtual A* GetClass() { return this; }};//继承于类A的子类AAclass AA:public A{public: AA* GetClass() { return this; }}

2014-12-23 16:48:17 2394

原创 大话设计模式C++实现-第22章-桥接模式

一、UML图二、概念桥接模式(Bridge):将抽象部分与它的实现部分分离,使他们都可以独立地变化。三、说明为什么叫“桥接模式”?如上所示的UML图中,有一个聚合线,像一座桥,所以叫“桥接模式”。概念解释:什么叫抽象与它的实现分离,这并不是说,让抽象类与其派生类分离,因为这没有任何意义。实现指的是抽象类与它的派生类用来实现自己的对象。

2014-12-23 11:42:03 1540

原创 大话设计模式C++实现-第20章-迭代器模式

一、UML图二、概念 迭代器模式(Iterator):提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。三、说明什么时候用?(1)当你需要访问一个聚集对象,而且不管这些对象时什么都需要遍历的时候,你就应该考虑用迭代器模式。(2)你需要对聚集有多种遍历时,可以考虑用迭代器模式。(3)为遍历不同的聚集结构提供如开始、下一个、是否

2014-12-23 08:56:22 1951

原创 大话设计模式C++实现-第19章-组合模式

一、UML图二、概念组合模式(Composite):将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。三、说明角色:(1)Component:为组合中的对象声明接口,在适当情况下,实现所有类共有接口的默认行为。声明一个接口用于访问和管理Component 的子部件。(2)Leaf:在组合中白哦是

2014-12-22 16:24:20 1632

原创 大话设计模式C++实现-第18章-备忘录模式

一、UML图二、概念备忘录(Memento):在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将对象恢复到原先保存的状态。三、说明角色:(1)Originator(发起人):负责创建一个Memento,用以记录当前时刻它的内部状态,并可以使用备忘录恢复内部状态。Originator可以根据需要决定Memento存储

2014-12-21 23:00:08 1503

原创 大话设计模式C++实现-第17章-适配器模式

一、UML图二、概念适配器模式:将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原来由于接口不兼容而不能一起工作的那些类可以一起工作。三、说明(1)在想使用一个已存在的类,但是如果他的接口,也就是它的方法和你的要求不相同时,就应该考虑用适配器模式。(2)用了适配器模式,客户代码可以统一调用统一接口就行了,这样可以更简单,更直接,更紧凑。

2014-12-21 17:34:39 1561

原创 大话设计模式C++实现-第14章-观察者模式

一、UML图二、概念观察者模式:定义了一种一对多的依赖关系,让多个观察者对象同时监听某一主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使他们能够自动更新自己。三、说明角色:(1)Subject类:可以翻译为主题或者抽象通知者,一般用一个抽象类或者一个接口实现。他把所有对观察者对象的引用保存在一个聚集里,每个主题都可以有任何数量的观察者。抽象主题提供一个接

2014-12-21 11:59:18 1953

原创 大话设计模式C++实现-第13章-建造者模式

一、UML图二、概念建造者模式(Builder):将一个复杂对象的构建和它的表示分离,使得同样的构建过程可以创建不同的表示。三、说明角色:(1)Builder:是为创建一个Product对象的各个部件指定的抽象接口。(2)ConcreteBuilder:是具体创建者,实现Builder接口,构造和装配各个部件。(3)Product:具体的产品角色

2014-12-18 15:15:10 1537 2

原创 大话设计模式C++实现-第12章-外观模式

一、UML图二、概念外观模式:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。三、说明Q:外观模式在什么时候使用呢?A:分为三个阶段:(1)首先,在设计初期阶段,应该要有意识的将不同的两个层分离。(2)第二,在开发阶段,子系统往往因为不断的重构演化而变得越来越复杂,大多数的模式使用时也会产生很

2014-12-17 23:06:55 1735 1

原创 大话设计模式C++实现-第10章-模板方法模式

一、UML图二、概念模板方法模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。三、说明角色:(1)AbstractClass:是抽象类,其实也就是一个抽象模板,定义并实现了一个模板方法。这个模板方法一般是一个具体方法,它给出了一个顶级逻辑的框架,而逻辑的组成步骤在相应的抽象操作

2014-12-17 22:23:09 1939

原创 大话设计模式C++实现-第9章-原型模式

一、UML图二、概念原型模式(Prototype):用原型示例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。三、说明(1)原型模式实际上就是从一个对象再创建另外一个可定制的对象,而且不需要知道任何创建的细节。(2)一般在初始化的信息不发生变化的情况下,克隆是最好的办法。这既隐藏了对象创建的细节,有对性能是大大的提高。因为如果不用Clone,每次new,都需要执行

2014-12-17 16:41:33 2081 2

原创 大话设计模式C++实现-第7章-代理模式

一、UML图二、概念代理模式:为其他对象提供一种代理以控制对这个对象的访问。三、应用场景(1)远程代理,也就是为一个对象在不同的地址空间提供局部代表。这样可以隐藏一个对象存在于不同地址空间的事实。(2)虚拟代理,是根据需要创建开销很大的对象。通过他来存放实例化需要很长时间的真实对象。例如:图片加载的时候。(3)安全代理,用来控制真是对象访问时的权限。(4)智能指

2014-12-16 22:58:47 2488 1

原创 《亲爱的界面》之菲茨定律

一、定义菲茨定律:(在桌面系统中)用户能够快速点击那些较大或者比较接近于鼠标指针的目标。此类目标可能是用户想要鼠标点击的屏幕上显示的图标,或者是用户想要敲击的触摸屏上的按钮。

2014-12-11 20:38:58 1124

原创 《亲爱的界面》阅读笔记之一

1.不要打扰用户(1)如果能帮助用户做决定,就不要打扰用户。(2)如果不得不让用户自己做决定,就让用户一次性把所有决定都做完,避免让用户中途停下来做决定。(3)只在做出紧急决定是才打扰用户。2.为用户提供撤销功能(1)在用户做出某些具有潜在危险的事情之前提出警告并不会奏效,用户往往会无视这些消息,只有允许他们撤销自己的操作,才能避免发生意外。(2)如果技术不支持撤销操作,那

2014-12-11 17:20:08 1082

原创 大话设计模式C++实现-第6章-装饰模式

一、UML图二、概念装饰模式:动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。三、说明角色:(1)Component是定义一个对象,可以给这些对象动态地添加职责。(2)ConcreteComponent是定义了一个具体的对象,也可以给这个对象增加一些职责。(3)Decorator,装饰抽象类,继承了Component,从外类来扩展

2014-12-11 15:16:06 2618 1

原创 大话设计模式C++实现-第2章-策略模式

一、UML图二、概述策略模式:他定义了算法家族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户。三、优点(1)策略模式是一种定义一系列算法的方法,从概念上来看,所有这些算法完成的都是相同的工作,只是实现不同,他可以以相同的方式调用所有的算法,减少了各种算法类与使用算法类之间的耦合。(2)策略模式的Strategy类曾是为Context

2014-12-10 23:29:54 2975 2

原创 大话设计模式C++实现-第3.4.5.11.22.23章-设计原则

一、单一职责原则(1)就一个类而言,应该仅有一个引起它变化的原因;(2)如果一个类承担的职责过多,就等于把这些职责耦合在了一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力二、开放封闭原则三、依赖倒转原则四、里氏代换原则五、迪米特法则

2014-12-10 17:03:35 1837

原创 大话设计模式C++实现-第21章-单例模式

一、UML图二、概念单例模式:保证一个类仅有一个实例,并提供一个访问他的全局访问点。[DP]通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化多个对象。一个最好的办法就是,让类自身负责保护它的唯一实例。这个类可以保证没有其他实例可以被创建,并且他可以提供一个访问该实例的方法。三、注意:使用单例模式,只能保证一个线程内对象不会被多次创建,而不不能保证多线程

2014-12-09 23:21:36 2001

原创 vs2010缩小MFC工程大小的方法

MFC工程文件编译运行之后的工程大小往往都是100M兆以上,下面介绍一下vs2010中缩小MFC工程大小的方法。工程文件缩小前的大小:120M。方法分为两步:(1)清理解决方案:在vs2010菜单栏点击“生成”----->“清理解决方案”。(2)在工程文件所在的文件目录下,删除数据库文件。工程文件缩小完成,完成后的大小:362KB。说明:在网上查阅资料,有提到关闭v

2014-12-08 17:32:24 3218 1

原创 C++中父类的虚函数必须要实现吗?

一、情景C++中父类的虚函数必须要实现吗?class Vir{public: virtual void tryVirtual();};class CVir:public Vir{public: void tryVirtual(){ std::cout<<"CVir"<<std::endl; }};二、说明(1)在main函数中,如果有父类或者子类的实例对象

2014-11-19 15:26:06 14149

原创 大话设计模式C++实现-第16章-状态模式

一、UML图二、概述下面是来自书本和网络的对状态模式的定义和分析:(1)状态模式允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。看起来,状态模式好像是神通广大很厉害似的——居然能够“修改自身的类”!(2)适用场景:a)状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类中,可以把复

2014-11-18 09:59:09 1933 1

原创 C++中两个类互相引用的解决方法

一、问题描述现在有两个类A和B需要定义,定义A的时候需要用到B,定义B的时候需要用到A。二、分析A和B的定义和调用都放在一个文件中肯定是不可以的,这样就会造成两个循环调用的死循环。根本原因是:定义A的时候,A的里面有B,所以就需要去查看B的占空间大小,但是查看的时候又发现需要知道A的占空间大小,造成死循环。解决方法1:(1)写两个头文件A.h和B.h分别用于声明类A和B;

2014-11-17 20:01:01 19152 3

原创 大话设计模式C++实现-第15章-抽象工厂模式

一、UML图二、包含的角色(1)抽象工厂(2)具体工厂:包括具体工厂1和具体工厂2。具体工厂1用于生产具体产品A1和具体产品B1,具体工厂2用于生产具体产品A2和具体产品B2;(3)抽象产品:包括抽象产品A和抽象产品B;(4)具体产品:包括抽象产品A所对应的具体产品A1和A2,以及抽象产品B所对应的具体产品B1和B2.说明:在《大话设计模式》中,上述的1和2分别代表

2014-11-16 23:09:39 3039 2

原创 malloc内存分配

网上总结到的信息:(1) 静态分派:是在栈上分配,是由用户自己申请,是由操作系统自己释放的  动态分配:是由编译器分配,操作系统没有提供这种机制,所以自己申请,必须自己删除!(2)你也要明白,栈的容量非常的小,而且特别贵,不能满足所有的内存申请,所以就要动态分配,(3)动态分配是编译器自己完成的,跟操作系统没有关系(4) 动态分配效率比较低,不过容量跟用户需求有关。(5)C

2014-11-14 23:39:38 1142

原创 大话设计模式C++实现-第8章-工厂方法模式

一、UML图二、包含的角色(1)抽象工厂(2)具体工厂(3)抽象产品(4)具体产品三、优势(1)工厂方法模式是对简单工厂模式的稍微的改进。工厂方法模式的用意是定义一个创建产品对象的工厂接口,将实际工作推迟到子类中。(2)与简单工厂模式相比,制造产品的工厂类不再 只有一个,而是每种具体产品类都对应一个生产它的具体工厂类。而这些具体工厂类的共同特征再被提取出

2014-11-09 22:26:52 2988

原创 大话设计模式C++实现-第1章-简单工厂模式

一、UML图二、包含的角色简单工厂模式包含三个角色:(1)工厂类Factory(2)抽象产品类AbstractProduct(3)具体产品类ConcreteProduct。(1)Factory:工厂类是用来制造产品的。因此,在Factory中有一个用于制造产品的Create函数或者Generate函数之类的函数。这个函数能够根据“标识符”的不同生成不同的ConcreteProd

2014-11-09 15:09:13 5170 7

随机性测试研究

密码算法的随机性测试研究,论文详细的分析了现状,并提出了改进策略。

2013-05-03

空空如也

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

TA关注的人

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