- 博客(19)
- 收藏
- 关注
代理模式
代理模式: 给某一个对象提供一个代理对象,并有代理对象控制对原对象的引用。通常,一个客户不想或者不能直接引用一个对象,而代理对象可以在客户端与目标对象之间起到中介作用。 结构: 抽象主题角色(Subject):声明了真实主题和代理主题的共同接口,使得在任何可以使用真实主题的地方使用代理主题。 代理主题角色(Proxy):代理主题...
2018-02-01 11:00:59 85
原创 享元模式
享元模式: 以共享的方式高效的支持大量细粒度对象。享元对象共享的关键是区分内蕴状态和外蕴状态。内蕴状态是存储在享元对象内部的,并且不会随环境的改变而改变。外蕴状态是随环境改变而改变的、不可共享的状态。外蕴状态必须由客户端保存,在需要使用的时候再传入到享元对象内部。外蕴状态不能影响内蕴状态,两者是相互独立的。 种类: 根据享元对象的内部表象,享元模式可...
2018-01-31 10:55:22 101
门面模式(Facade)
门面模式: 外部与一个子系统的通信必须通过一个统一的门面(Facade)对象进行。门面模式提供一个高层次的接口,使得子系统更易于使用。 结构: 门面角色(Facade):客户端可以调用这个角色的方法,由此对象知晓相关(一个或多个)子系统的功能和责任。正常情况下,本角色会将所有从客户端发来的请求委派到相应的子系统去。...
2018-01-29 16:16:35 100
装饰模式
装饰模式: 装饰模式指的是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。 装饰模式以对客户端透明的方式拓展对象的功能,是继承关系的一个替代方案。装饰模式以透明的方式动态的给一个对象附加上更多的责任。 简易类图:结构: 装饰模式实用原来的被装饰的类的一个子类实例...
2018-01-27 23:13:16 89
原创 合成模式
定义 讲对象组织到树结构中,用来描述整体和部分的关系。也叫部分-整体模式。合成模式可以使客户端讲单纯元素与复合元素同等看待。即合成模式把部分和整体的关系用树结构表示出来,使得客户端把一个个单独的成分对象和由这些成分对象组成的合成对象同等看待。 组成 抽象构件角色(Component):抽象角色,给参加组合的对象规定一个接口,给出共有的接口及...
2018-01-26 11:25:46 71
原创 桥接模式
定义 将抽象化和实现化脱耦,使二者可以独立的变化。 分析 抽象化 多个实体中的共同概念特性。一组对象如果有相同的概念联系,那便可以通过一个共同的类来描述。如果一写类具有共同的概念性联系,往往可以用一个抽象类来描述。 实现化 抽象化给出的具体实现就是实现化。一个类的实力就是这个累的实现化。具体子类是...
2018-01-24 23:00:26 118
原创 适配器模式
适配器模式定义 适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。 适配器模式的结构 适配器模式有两种形式:类适配器模式和对象适配器模式 1、类适配器 适配器和适配者是继承关系 Target是客户端期待的接口,Adaptee是需要适配的接口...
2018-01-20 22:42:27 67
原创 垃圾收集器的类型
垃圾收集器的类型从不同角度分析垃圾收集器,可以分为不同的类型:1、按线程数分串行收集器串行收集器一次使用一个线程进行垃圾回收并行收集器并行收集器一次开启多个线程进行垃圾回收,在并行能力较强的CPU上,使用并行收集器可以缩短GC的停顿时间。2、按工作模式分并发式收集器并发式收集器与应用程序交替进行,以尽可能的减少应用程序的停顿时间独占式收集器独占式收集...
2017-07-08 12:19:00 264
原创 垃圾收集算法
垃圾收集Java的一大特点就是可以进行自动垃圾回收处理。自动垃圾回收减轻了开发人员的工作量,但增加了系统的负担。1、引用计数法引用计数法是最经典也是最古老的一种垃圾收集方法。对于一个对象A,只要有任何一个对象引用了A,则A的引用计数器+1,当引用失效后,引用计数器-1。只要对象A的引用计数器的值为0,则说明对象A已经不会再被使用,可以进行垃圾回收。引用计数法的实现比较简单,只...
2017-07-01 20:10:34 75
原创 JVM内存分配参数
JVM内存分配参数1、设置最大堆内存Java堆最大堆内存可以使用-Xmx 参数指定。最大堆指的是新生代和老年代的大小之和的最大值。即堆上限。2、设置最小堆内存Java堆最小堆内存可以使用-Xms 参数指定。最小堆指的是JVM启动时初始化的堆内存大小。即堆下限。通常将最大堆内存和最小堆内存设置相同的大小,因为JVM会尽可能的维护最小堆内存,所以前期会发生频繁的GC已维持最小堆...
2017-06-22 00:10:49 96
原创 原型模式(Prototype)
原型模式(Prototype)定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 工作原理:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。 理解:原型模式,顾名思义,通过一个原型模板,依葫芦画瓢得到另一个新的对象。即通过一个已经存在的对象,复制出更多的具有与此对象具有相同类型的新的...
2017-06-19 22:58:30 60
原创 JVM-内存模型
JVM-内存模型JVM大致将内存数据分为程序计数器、虚拟机栈、本地方法栈、Java堆、方法区。 程序计数器用于存放下一条运行指令、虚拟机栈和本地方法栈用于存放函数调用的堆栈信息、Java堆用于存放Java程序运行时产生的对象数据、方法区用于存放程序的类元数据信息。 1、程序计数器 程序计数器是线程私有的用于记录当前线程下一条要执行的指令,若当前线程正在执行Native方法,则程...
2017-06-19 11:28:10 145
Spring初始化
Spring初始化在Java开发Web应用时,有个web.xml文件,可以说这是我们开发代码的入口。web容器就是通过这个配置文件载入我们的程序。在使用Spring时,我们都会在web.xml配置一个listener来启动Spring。 <listener> <listener-class> org.springframe...
2017-05-21 09:36:32 82
原创 建造者模式
建造者模式定义:将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。组成:产品类:一般是一个较为复杂的对象,也就是说创建对象的过程比较复杂,一般会有比较多的代码量。产品类可以是由一个抽象类与它的不同实现组成,也可以是由多个抽象类与他们的实现组成。抽象建造者:引入抽象建造者的目的,是为了将建造的具体过程交与它的子类来实现。这样更容易扩展。一般至少会有...
2017-05-14 00:15:14 65
工厂模式
工厂模式工厂:一个生产东西的地方。在java中就是创建实例的地方。通常,在我们需要实例化一个对象的时候,我们会使用new关键字。如果我们创建一个类,让这个类给我们一个实例化对象,那么这个类就是工厂类了。 简单工厂模式 interface Sender { public void send(); }class MailSender implements S...
2017-05-12 23:59:06 72
单例模式
单例模式单例模式是一种对象创建模式,用于产生一个对象的具体实例,确保系统中一个类只能产生一个实例。单例的重点就是只产生一个实例,供多个地方使用,从而减少实例的频繁产生和销毁。 饿汉式class Singleton { private static Singleton instance = new Singleton(); private Singleton() ...
2017-05-11 22:54:32 50
原创 设计模式六大原则
总原则:开闭原则(Open Close Principle)开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,而是要扩展原有代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类等,后面的具体设计中我们会提到这点。 1、单一职责原则不要存在多于一个导致类变更的原因,也就...
2017-05-11 19:03:00 56
原创 Spring-IOC
IOC(又称DI)通过注解或配置文件描述对象间的依赖关系,Spring容器根据这些描述信息去生成对象。即对象的依赖关系由代码转交给容器进行处理,由容器进行控制,将硬编码的依赖关系转交给容器来松耦合。通过构造方法、setter方法,接口注入对象的依赖关系 BeanFactory容器的顶级接口,定义了bean的获取,类型判断等方法,提供了基本的容器功能。 Applicati...
2017-05-11 18:58:16 80
原创 Spring-概述
SpringSpring的终极目的是为了简化开发。通过控制反转、依赖注入的方式松耦合,Spring提供了很多特色而功能,如声明式事务、AOP,JDBCTemplate等。但最终目的还是为了简化开发。 ResourceSpring将资源信息都封装为一个Resource,如常见的ClassPathResource,可以读取ClassPath下的xml配置文件信息载入到Spring中...
2017-05-11 18:58:06 57
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人