Flyweight模式产生原因:
在面向对象系统的设计何实现中,创建对象是最为常见的操作。这里面就有一个问题:如果一个应用程序使用了太多的对象,就会造成很大的存储开销。特别是对于大量轻量级(细粒度)的对象,比如在文档编辑器的设计过程中,我们如果为没有字母创建一个对象的话,系统可能会因为大量的对象而造成存储开销的浪费。例如一个字母“a”在文档中出现了100000次,而实际上我们可以...
分类:
其他好文 时间:
2016-06-29 10:05:37
阅读次数:
222
Facade模式
一 意图
为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
二 动机
将一个系统划分成为若干个子系统有利于降低系统的复杂性。一个常见的设计目标是使子系统间的通信和相互依赖关系达到最小。
达到该目标的途径之一是就是引入一个外观(Facade)对象,它为子系统中较一般的设施提供了一个...
分类:
其他好文 时间:
2016-06-29 10:05:19
阅读次数:
147
Hibernate 的延迟加载(lazy load)本质上就是代理模式的应用,我们在过去的岁月里就经常通过代理模式来降低系统的内存开销、提升应用的运行性能。Hibernate 充分利用了代理模式的这种优势,并结合了 Javassist 或 CGLIB 来动态地生成代理对象,这更加增加了代理模式的灵活性,Hibernate 给这种用法一个新名称:延迟加载。无论怎样,充分分析、了解这些开源框架的实现可以更好的感受经典设计模式的优势所在。...
分类:
编程语言 时间:
2016-06-29 08:57:10
阅读次数:
230
对话框有两种创建方式:DoModal和Creat。 其中DoModal创建的是模态的对话框,而Creat创建的是非模态的对话框下面总结下他们的不同。 对于模态的对话框,在该对话框被关闭前,用户将不能在同一应用程序的其他地方进行工作(例如open file对话框),而对于非模态的对话框,在它留在屏幕上 ...
分类:
其他好文 时间:
2016-06-29 06:40:24
阅读次数:
365
1.Sed简介sed是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(patternspace),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变..
分类:
系统相关 时间:
2016-06-29 01:24:36
阅读次数:
552
定义:strace常用来跟踪进程执行时的系统调用和所接收的信号。在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用..
分类:
其他好文 时间:
2016-06-29 01:24:26
阅读次数:
290
重启系统,按键盘Esc键,进入如下图画面,按键盘上的e进入编辑。进入这个画面以后,通过键盘的上下方向键选择kernel那行,然后再按e进入编辑。在最末尾处加入参数single,然后回车保存点击B启动系统,进入如下画面进入命令行,敲passwd,进入输入新密码状态,输入两次即可
分类:
系统相关 时间:
2016-06-29 01:22:57
阅读次数:
178
1.sed的概念sed意为流编辑器(StreamEditor),在Shell脚本和Makefile中作为过滤器使用非常普遍,也就是把前一个程序的输出引入sed的输入,经过一系列编辑命令转换为另一种格式输出。sed是基于Basic模式的,sed和vi都源于早期UNIX的ed工具,所以很多sed命令和vi的末行命令是相同的。2..
分类:
其他好文 时间:
2016-06-29 01:21:03
阅读次数:
178
一、MBR主引导记录MBR有512个字节,分为三个部分:第一部分446个字节,存储了引导分区;第二部分64字
节为分区表;第三部分2个字节结束符;每个分区需16个字节,所以MBR的模式下只能划分4个主分区或3个主分区和扩展分区;主分区可以直接使用,扩展分
区不能直接使用,在扩展分..
分类:
其他好文 时间:
2016-06-29 01:15:39
阅读次数:
299