09 2017 档案
摘要:1. 常识: 1.1 War包 War包一般是在进行Web开发时,通常是一个网站Project下的所有源码的集合,里面包含前台HTML/CSS/JS的代码,也包含Java的代码。 当开发人员在自己的开发机器上调试所有代码并通过后,为了交给测试人员测试和未来进行产品发布,都需要将开发人员的源码打包成W
阅读全文
摘要:老是会遇到深拷贝与浅拷贝的问题,这里进行了一些測试。代码例如以下: 能够看到。用构造函数(旧List)的方法。是浅拷贝,拷贝的仅仅是List中的元素,即引用,而不是这些元素或引用指向的值。 而通过对象序列化方法,则是深拷贝,是把这些引用指向的对象又一次创建了一份的。 从打印的结果也能够看到。浅拷贝时
阅读全文
摘要:线程介绍 线程是进程中的一个实体,是独立调度和分派的基本单位。 线程自身基本上不拥有系统资源,只拥有少许运行中必不可少的私有资源。线程可与同属一个进程的其他线程共享进程的全部资源。 线程使用的目标 线程使用的目标:既能提高进程并发度,又能降低系统的额外开销。 线程的实现 实现:将进程的资源申请和调度
阅读全文
摘要:进程概念 进程:申请资源和调度资源的基本单位,一个进程就是一个程序的一个运行过程。是一个动态的概念,在不同的操作系统中,会有不同的进程出现。 程序:静态概念,是指令和数据的集合,可长期存储。 进程与程序对应关系: - 一个程序可以对应一个进程或者多个进程 - 一个进程可以对应一个程序,或者一段程序
阅读全文
摘要:进程互斥 进程互斥:在多个程序中,有两个进程不可以同时进行(例如读,写操作)。 竞争资源(临界资源) 当并发进程竞争使用同一资源时,他们之间就会发生冲突。如果操作系统将资源分配给其中的某一个进程使用,另一个进程就必须等待,直到申请的资源可用时,由操作系统分配给他们。 如果竞争资源的进程太多,这些进程
阅读全文
摘要:文件管理系统 操作系统中各类文件,管理文件的软件,以及管理文件所涉及到的数据结构等信息的集合。 文件管理系统只处理无结构,无格式的字节流。 文件的基本概念 文件是一种具有符号名的,相关联元素的有序集合;各种程序,数据集合;一些低速的字符设别(键盘,终端)。 文件中的数据结构 字段或域 字段或域 字段
阅读全文
摘要:存储管理的任务 存储管理一共有三个存储管理任务: --存储分配 --地址映射 --存储保护 --存储共享 --存储扩充 存储分配: 分配基本内存空间 增加新的内存空间 回收内存空间 逻辑地址:表示相对地址,在外存中。 物理地址:绝对地址,标识内存中的每一个存储单元,在内存中 地址映射: 程序装入内存
阅读全文
摘要:死锁概念: 是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。 死锁产生的条件: (最关键的为第四个条件) 解决死锁的方法: 预防死锁:指进程申请
阅读全文
摘要:设备管理概述: 设备管理的主要功能: 设备分配 设备映射 设备驱动 I/O缓冲区的管理 设备分配 设备映射 设备驱动 I/O缓冲区的管理 设备分配 多道程序系统中,设备不允许用户直接使用,而是由操作系统统一调度和控制。设备分配功能是设备管理的基本任务。设备分配程序按照一定的策略,为申请设备的用户程序
阅读全文
摘要:计算存储的层次结构: 当前技术没有能够提供这样的存储器,因此大部分的计算机都有一个存储器层次结构,即少量的非常快速、昂贵、易变的高速缓存(cache);若干兆字节的中等速度、中等价格、易变的主存储器(RAM);数百兆或数千兆的低速、廉价、不易变的磁盘。这些资源的合理使用与否直接关系着系统的效率。 1
阅读全文
摘要:一、概述 定义一个用于创建对象的接口,让子类去决定实例化哪个类。工厂方法将一个类的实例化延迟至其子类。 二、适用性 1.当一个类不知道它所必须创建的对象的类的时候。 2.当一个类希望由其子类来指定它所创建的对象的时候。 3.当类将创建对象的职责委托给多个帮助子类的某一个,并且你希望将哪一个帮助子类是
阅读全文
摘要:一、概述 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 二、适用性 1.一个系统要独立于它的产品的创建、组合和表示的时候。 2.一个系统要由多个产品系列中的一个来配置的时候。 3.当你要强调一系列相关的产品对象的设计以便进行联合使用的时候。 4.当你提供一个产品类库,而只想显
阅读全文
摘要:一、概述 将一个复杂对象的构建与其表示分离开来,使得同样的构建过程可以创建不同的表示。 二、适用性 1.当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式的时候。 2.当构造过程必须允许被构造的对象有不同的表示的时候。 三、参与者 1.Builder:为创建一个Product对象的各个
阅读全文
摘要:1概述 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 2适用性 1.当类只能有一个实例而且客户可以从一个总所周知的访问点访问它的时候。 2.当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例的时候。 3参与者 Singleton:定义一个Instance
阅读全文
摘要:一、概述 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 二、适用性 1.当一个系统应该独立于它的产品创建、构成和表示的时候。 2.当要实例化的类是在运行时刻指定的时候,例如:通过动态装载。 3.为了避免创建一个与产品类层次平行的工厂类层次的时候。 4.当一个类的实例只能有几个不同
阅读全文
摘要:一、概述 将类的抽象部分与实现分部分离开来,使它们都可以独立地变化。 二、适用性 1.你不希望在抽象和实现之间有一个固定的绑定关系的时候。例如:在程序运行时实现部分应可以被选择或切换。 2.类的抽象以及实现都应该可以通过生成子类的方法加以扩充的时候。桥接模式使你可以对不同的抽象接口和实现进行组合,并
阅读全文
摘要:一、概述 将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 二、适用性 1.你想使用一个已经存在的类,但是它的接口不符合你的要求的时候。 2.你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口肯不一定兼容的类)
阅读全文
摘要:一、概述 将对象组合成树型结构以表示“部分--整体”的层次关系。组合模式使得用户对单个对象和组合对象的使用具有一致性。 二、适用性 1.你想表示对象的部分--整体层次结构的时候。 2.你希望用户忽略组合对象与单个对象的不同的时候,用户将统一地使用组合结构中的所有对象。 三、参与者 1.Compone
阅读全文
摘要:一、概述 为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 二、适用性 1.当你要为一个复杂子系统提供一个简单接口的时候。子系统往往因为不断演化而变得越来越复杂。大多数模式使用时都会产生更多更小的类。这使得子系统更具可重用性,也更容易对子系统进
阅读全文
摘要:一、概述 动态地给一个对象添加一些额外的职责。装饰模式比生成子类更为灵活。 二、适用性 1.在不影响其他对象的情况下,以动态、透明的方式给但个对象添加职责。 2.处理那些可以撤销的职责。 3.当不能采用生成子类的方式进行扩展的时候。 三、参与者 1.Component:定义一个对象接口,可以给这些对
阅读全文
摘要:一、概述 为其他对象提供一种代理以控制对这个对象的访问。 二、适用性 1.远程代理(RemoteProxy):为一个对象在不同的地址空间土工局部代表。 2.虚代理(VirtualProxy):根据需要创建开销很大的对象。 3.保护代理(ProtectionProxy):控制对原始对象的访问。 4.智
阅读全文
摘要:一、概述 运用共享技术有效地支持大量细粒度的对象。 二、适用性 1.当一个应用程序使用了大量的对象的时候。 2.由于使用大量的独享而造成很大的存储开销的时候。 3.对象的大多数状态都可变为外部状态的时候。 4.如果删除对象的外部状态,那么可以用相对较少的共享独享取代很对组对象的时候。 5.应用程序不
阅读全文
摘要:一、概述 使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并且沿着这条链传递请求,直到有一个对象处理它为止。其设计思想是:给对多个对象处理一个请求的机会,从而解耦请求发送者和接收者。 二、适用性 1.有多个对象可以处理一个请求,到底是哪个对象处理请求,交
阅读全文
摘要:一、概述 将一个请求封装为一个对象,从而可以使用不同的请求对客户端进行参数化。对请求排队或记录请求日志,以及支持撤销的操作。 二、适用性 1.当抽象出待执行的动作以参数化某个对象的时候。 2.当需要在不同的时刻指定、排列和执行请求的时候。 3.当需要支持撤销操作的时候。 4.当需要支持修改日志的时候
阅读全文
摘要:一、概述 使用一个中介对象来封装一系列的对象交互。中介者让各个对象无需显式地相互引用,从而达到解耦的效果。并且可以独立地改变它们之间的交互。二、适用性1.当一组对象以定义良好但复杂通信的时候。产生的相互依赖关系结构混乱且难以理解。2.当一个对象引用其他许多对象并且直接与这些对象通信的时候。会导致难以
阅读全文
摘要:一、概述 给定一种语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。二、适用性1.当访问一个聚合对象的内容而无需暴露它的内部表示的时候。2.当对聚合对象的多种遍历提供支持的时候。3.当为了遍历不同的聚合结构提供一个统一的接口的时候(多态迭代)。 三、参与者1.I
阅读全文
摘要:一、概述 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象的外部保存这个状态。以便以后可以将该对象恢复到原先保存的状态。 二、适用性 1.当需要保存一个对象在某个时刻的状态(部分)的时候,以便需要时可以恢复到先前保存的状态。2.当不愿意暴露对象的实现细节和破坏对象的封装性,又需要让其他对象
阅读全文
摘要:一、概述 给定一种语言和其文法的一种表示,再定义一个解释器,该解释器使用表示来解释语言中的句子。 二、适用性 当需要解释一种语言,并且可以将该语言中的句子表示为一个抽象语法树的时候。 1.该文法简单对于复杂的文法,文法的类层次变得庞大而无法管理。 2.效率不是一个关键问题,最高效的解释器通常不是通过
阅读全文
摘要:一、概述 定义对象之间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。二、适用性1.当一个抽象模型有两个方面,其中一个方面依赖于另一方面的时候。将这二者封装在独立的对象中以使它们可以各自独立地改变和复用。2.当对一个对象的改变需要同时改变其它对象,而且不
阅读全文
摘要:一、概述 定义对象之间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 二、适用性 1.一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为。2.一个操作中含有庞大的多分支的条件语句,且这些分支依赖于该对象的状态。这个状态通常用一个或多
阅读全文
摘要:传送门 ☞ 轮子的专栏 ☞ 转载请注明 ☞ http://blog.csdn.net/leverage_1229 1概述 定义一系列算法,把它们一个个都封装起来,并且让它们可以相互替换。策略模式使得算法可以独立于使用它的客户而发生变化。 2适用性 (1)许多相关的类仅仅是行为存在差异的时候。“策略”
阅读全文
摘要:概述 表示一个作用于某对象结构中的各元素的操作。 它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。 表示一个作用于某对象结构中的各元素的操作。 它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。 适用性 1.一个对象结构包含很多类对象,它们有不同的接口,而你想对这些对象
阅读全文
摘要:概述 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。 TemplateMethod使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。 TemplateMethod使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步
阅读全文