`
丶西红柿丿炒蛋
  • 浏览: 5531 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论
文章列表
代理模式:         给某一个对象提供一个代理对象,并有代理对象控制对原对象的引用。通常,一个客户不想或者不能直接引用一个对象,而代理对象可以在客户端与目标对象之间起到中介作用。     结构:         抽象主题角色(Subject):声明了真实主题和代理主题的共同接口,使得在任何可以使用真实主题的地方使用代理主题。         代理主题角色(Proxy):代理主题内部含有对真实主题的引用,可以在任何时候操作真实主题对象。         真实主题角色(Real):代理主题所代表的真实主题      代码: abstract class Subject{ ...
享元模式:         以共享的方式高效的支持大量细粒度对象。享元对象共享的关键是区分内蕴状态和外蕴状态。内蕴状态是存储在享元对象内部的,并且不会随环境的改变而改变。外蕴状态是随环境改变而改变的、不可共享的状态。外蕴状态必须由客户端保存,在需要使用的时候再传入到享元对象内部。外蕴状态不能影响内蕴状态,两者是相互独立的。   种类:         根据享元对象的内部表象,享元模式可分为单纯享元模式和复合享元模式。           单纯享元模式:         所有的享元对象都是可以共享的         抽象享元角色(Flyweight):所有具体享元类的超类。规定 ...
门面模式:         外部与一个子系统的通信必须通过一个统一的门面(Facade)对象进行。门面模式提供一个高层次的接口,使得子系统更易于使用。                    结构:         门面角色(Facade):客户端可以调用这个角色的方法,由此对象知晓相关(一个或多个)子系统的功能和责任。正常情况下,本角色会将所有从客户端发来的请求委派到相应的子系统去。         子系统角色(SubSystem):可同时有一个或多个子系统,每个子系统都不是单独的类。而是类的集合。每个系统都可以被客户端直接调用,或者被门面角色调用。子系统并不知道门面对象的存在。 ...
装饰模式:         装饰模式指的是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。         装饰模式以对客户端透明的方式拓展对象的功能,是继承关系的一个替代方案。装饰模式以透明的方式动态的给一个对象附加上更多的责任。   简易类图: 结构:         装饰模式实用原来的被装饰的类的一个子类实例,把客户端的调用委派给被装饰类。   类图:         抽象构件角色(Component):给出一个对象的接口,以规范接收附加责任的对象。         具体构件角色(Concreate ...
定义         讲对象组织到树结构中,用来描述整体和部分的关系。也叫部分-整体模式。合成模式可以使客户端讲单纯元素与复合元素同等看待。即合成模式把部分和整体的关系用树结构表示出来,使得客户端把一个个单独的成分对象和由这些成分对象组成的合成对象同等看待。   组成             抽象构件角色(Component):抽象角色,给参加组合的对象规定一个接口,给出共有的接口及其默认行为。         树叶构件角色(Leaf):代表参与组合的树叶对象。树叶没有下级的子对象。定义出参加组合的原始对象的行为。         树枝构件角色():代表参与组合的有子对象的对象 ...
定义         将抽象化和实现化脱耦,使二者可以独立的变化。    分析         抽象化         多个实体中的共同概念特性。一组对象如果有相同的概念联系,那便可以通过一个共同的类来描述。如果一写类具有共同的概念性联系,往往可以用一个抽象类来描述。         实现化         抽象化给出的具体实现就是实现化。一个类的实力就是这个累的实现化。具体子类是抽象超类的实现化。         脱藕         将两个类之间的强关联转为弱关联。强关联:编译期已经确定的,无法在运行时动态改变的关联。弱关联:动态确定切可在运行时动态改变的关联。继承便是强 ...
适配器模式定义         适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。   适配器模式的结构         适配器模式有两种形式:类适配器模式和对象适配器模式    1、类适配器         适配器和适配者是继承关系         Target是客户端期待的接口,Adaptee是需要适配的接口,Adapter就是适配器。         目标角色(Target):客户端期待的接口,因为是类适配器,Adapter和Adaptee是继承关系,因为单继承原因,所以Target必定为接口,不可以是 ...
垃圾收集器的类型 从不同角度分析垃圾收集器,可以分为不同的类型: 1、按线程数分 串行收集器 串行收集器一次使用一个线程进行垃圾回收 并行收集器 并行收集器一次开启多个线程进行垃圾回收,在并行能力较强的CPU ...
 垃圾收集 Java的一大特点就是可以进行自动垃圾回收处理。自动垃圾回收减轻了开发人员的工作量,但增加了系统的负担。 1、引用计数法 引用计数法是最经典也是最古老的一种垃圾收集方法。对于一个对象A,只要有任何一个对象引用了A,则A的引用计数器+1,当引用失效后,引用计数器-1。只要对象A的引用计数器的值为0,则说明对象A已经不会再被使用,可以进行垃圾回收。 引用计数法的实现比较简单,只需要为美俄对象配备一个整形的计数器即可。但是引用计数器有一个严重的问题,即无法处理循环引用的情况,所以Java中没有使用引用计数法。 如图,A引用B,B引用A,A和B的引用均为1,但是除了A与B, ...
JVM内存分配参数 1、设置最大堆内存 Java堆最大堆内存可以使用-Xmx 参数指定。最大堆指的是新生代和老年代的大小之和的最大值。即堆上限。 2、设置最小堆内存 Java堆最小堆内存可以使用-Xms 参数指定。最小堆指的是JVM启动时初始化的堆内存大小。即堆下限。 通常将最大堆内存和最小堆内存设置相同的大小,因为JVM会尽可能的维护最小堆内存,所以前期会发生频繁的GC已维持最小堆内存大小,当GC后无法满足需求,则会向扩大堆内存。 3、设置新生代  -Xmn可以设置新生代大小。由于Java堆由新生代和老年代组成,所以增大新生代会减小老年代。新生代一般设置为整个堆空间1/4到1 ...
原型模式(Prototype) 定义: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。   工作原理: 通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。   理解: 原型模式,顾名思义,通过一个原型模板,依葫芦画瓢得到另一个新的对象。 即通过一个已经存在的对象,复制出更多的具有与此对象具有相同类型的新的对象。 Java中对象的复制可以通过克隆完成。所以我们需先对克隆有所了解。   Java中有基本数据类型和引用类型之分。基本数据类型存放的是数值本身,引用类型存放的是数据的引用(类似指针)。 1 ...

JVM-内存模型

JVM-内存模型 JVM大致将内存数据分为程序计数器、虚拟机栈、本地方法栈、Java堆、方法区。 程序计数器用于存放下一条运行指令、虚拟机栈和本地方法栈用于存放函数调用的堆栈信息、Java堆用于存放Java程序运行时产生的对象数据、方法区用于存放程序的类元数据信息。   1、程序计数器  程序计数器是线程私有的用于记录当前线程下一条要执行的指令,若当前线程正在执行Native方法,则程序计数器为空。 2、Java虚拟机栈 Java虚拟机栈也是线程私有的,与线程同一时间创建,保存方法的局部变量、部分结果,并参与方的的调用和返回。 虚拟机栈在运行时使用一个叫做栈帧的数据结构保存上下 ...

Spring初始化

Spring初始化 在Java开发Web应用时,有个web.xml文件,可以说这是我们开发代码的入口。web容器就是通过这个配置文件载入我们的程序。 在使用Spring时,我们都会在web.xml配置一个listener来启动Spring。   <listener> <listener-clas ...
建造者模式 定义: 将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 组成: 产品类:一般是一个较为复杂的对象,也就是说创建对象的过程比较复杂,一般会有比较多的代码量。产品 ...
工厂模式 工厂:一个生产东西的地方。在java中就是创建实例的地方。通常,在我们需要实例化一个对象的时候,我们会使用new关键字。如果我们创建一个类,让这个类给我们一个实例化对象,那么这个类就是工厂类了。   ...
Global site tag (gtag.js) - Google Analytics