来源:www.jianshu.com/p/098819be088c 前言 Java中的线程池十分重要,无论是在实际应用中还是应对面试 一、线程池原理 1.1 使用线程池的好处 第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 第二:提高响应速度。当任务到达时,任务可以不需要 ...
分类:
编程语言 时间:
2019-01-14 20:18:04
阅读次数:
244
在上一篇中我们学习了单例模式,介绍了单例模式创建的几种方法以及最优的方法。本篇则介绍设计模式中的工厂模式,主要分为简单工厂模式、工厂方法和抽象工厂模式。 简单工厂模式 简单工厂模式是属于创建型模式,又叫做静态工厂方法模式。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。调用只需要告诉工厂类 ...
分类:
编程语言 时间:
2019-01-11 11:24:23
阅读次数:
233
LZ想把简单工厂模式、工厂方法模式和抽象工厂模式整理到一篇博文当中,由浅入深,应该能方便理解和记忆,话不多说,进入正题。 一、简单工厂模式 定义:从设计模式的类型上来说,简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之 ...
分类:
其他好文 时间:
2019-01-06 10:44:41
阅读次数:
160
模式定义 简单工厂模式又称静态工厂模式。可以根据参数的不同返回不同类的实例。定义一个类来创建其它类的实例。 模式角色 简单工厂模式包含如下角色 Factory:工厂角色 Product:抽象产品角色 ConcreteProduct:具体产品角色 简单实例 场景应用 简单工厂模式在jdk有不少应用,比 ...
分类:
其他好文 时间:
2019-01-01 17:28:11
阅读次数:
166
利用静态方法定义一个简单工厂,这是很常见的技巧,常被称为静态工厂(Static Factory)。静态工厂是 new 关键词实例化的另一种替代,也更像是一种编程习惯而非一种设计模式。和简单工厂相比,静态工厂通过一个静态方法去实例化对象。为何使用静态方法?因为不需要创建工厂实例就可以直接获取对象。 ...
分类:
其他好文 时间:
2018-12-28 10:44:36
阅读次数:
191
1、考虑用静态工厂方法代替构造器 2、遇到多个构造器参数时要考虑用构造器 3、用私有构造器或者枚举类型强化Singleton属性 4、通过私有构造器强化不可实例化的能力 5、避免创建不必要的对象 6、消除过期的对象引用 7、避免使用finalizer方法 8、重写equals方法时遵守通用约定 9、 ...
分类:
编程语言 时间:
2018-12-22 18:38:31
阅读次数:
124
静态工厂方法,也不知道为何叫这个名字。其实也就是一个静态函数,可以替代构造函数用。大名鼎鼎的 [guava](https://github.com/google/guava) 就大量使用这种模式,这是非常有用的模式。 ...
分类:
编程语言 时间:
2018-12-22 18:36:20
阅读次数:
178
spring创建对象 ApplicationContext 单例用 初始化时创建 BeanFactory 多例用 使用时创建对象 Spring支持如下三种方式创建Bean 1:调用构造器创建Bean 2:调用静态工厂方法创建Bean 3:调用实例工厂方法创建Bean factory-bean fac ...
分类:
其他好文 时间:
2018-12-17 02:48:23
阅读次数:
193
。 工厂模式同样是项目中最常用的设计模式,工厂模式中又分为简单工厂,工厂方法,抽象工厂。下面我们由简单的开始逐一介绍。 1.简单工厂模式 简单工厂又被称为静态工厂,在设计模式中属于创建型模式。主要解决的问题是封装了实例化的过程,通过传入参数来获不同实例。下面我们举一个项目中可能会用到的例子。 假设我 ...
概述 属于创建型设计模式,需要生成的对象叫做产品 ,生成对象的地方叫做工厂 。 使用场景: 1、在任何需要生成复杂对象的地方,都可以使用工厂方法模式。 2、直接用new可以完成的不需要用工厂模式 一、简单(静态)工厂 我喜欢吃粉,抽象一个粉基类(或者接口),这是产品的抽象类 来一份桂林米粉(具体的产 ...
分类:
其他好文 时间:
2018-12-10 11:46:25
阅读次数:
196