August 7, 2021
设计模式
装饰器模式(Decorator Pattern)装饰器模式也叫做包装模式,是指在不改变原有对象的基础上,将功能附加到对象上,提供比继承更有弹性的替代方案(扩展原有对象的功能),强调一点是基于已有对象的功能增强;装饰器模式属于结构性模式;
装饰器类图
Component 抽象构件
定义 ...
Read more
August 7, 2021
设计模式
策略模式策略模式(Strategy Pattern)也叫做政策模式(Policy Pattern),它是将定义的算法封装起来,让它们之间可以相互替换,从而让算法的变化不影响到使用算法的用户;它属于行为型模式。可以在一定程度上规避if-else/switch等策略模式使用的面向对象的继承和多态 ...
Read more
August 7, 2021
设计模式
桥接模式(Bridge Pattern)桥接模式也称为桥梁模式,接口(Integer)模式或者柄体(Handle and Body)模式,是将抽象部分和它的具体实现部分分离,是它们都可以独立地变化;
通过组合的方式建立两个类之间的联系,而不是继承; 桥接模式属于结构型模式;
继承一般来作 ...
Read more
August 7, 2021
设计模式
建造者模式 建造者模式(Builder Pattern)将一个复杂的对象的构建过程与它的表示,使得同样的构建过程可以创建出不同的表示。 建造者模式属于创建型模式;
对于用户而言,使用建造者模式只需要指定需要创建的类型就可以获取对象,创建的过程以及细节不需要了解,根据建造者模式的定义,可以简单 ...
Read more
August 7, 2021
设计模式
1. 简单工厂模式简单工厂模式是指有一个工厂对象决定创建出哪一个产品类的实例;属于创建型模式,但它不属于GOF 23种设计模式。
UML类图
组成要素1、一个抽象产品类2、具体产品类3、一个工厂
肥宅喜爱的各种快乐水(产品接口)
123public interface Kls { ...
Read more
August 7, 2021
设计模式
原型模式原型模式(Prototype Pattern)指原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象,属于创建型模式;
原型模式的核心在于复制原型对象。以系统中已存在的一个对象为原型,直接基于内存二进制流进行复制,不需要再精力耗时的对象初始化过程(不调用构造函数),性能提升很 ...
Read more
August 7, 2021
设计模式
单例模式概念单例模式:指一个类在任何情况下都绝对只有一个实例,并提供一个全局访问点(getInstance方法)。大概实现就是隐藏其构造方法,单例模式属于创建型模式。一些实际的应用场景比如,DBpool, ServletContext,ServletConfig等
单例模式写法饿汉式单例在单 ...
Read more
August 7, 2021
设计模式
享元模式(Flyweight Pattern)前言在面向对象程序设计过程中,有时会面临要创建大量相同或相似对象实例的问题。创建那么多的对象将会耗费很多的系统资源,它是系统性能提高的一个瓶颈。
定义享元模式,又称为轻量级模式,运用共享技术来有效地支持大量细粒度对象的复用。它通过共享已经存在 ...
Read more
August 5, 2021
多线程
ConcurrentHashMapMap应该是我们平时开发过程中除了List使用的第二频繁的数据结构了吧,我们都知道HashMap无法在多线程环境下保证安全,那我们可以使用什么来代替HashMap呢,有两个选择,HashTable和ConcurrentHashMap,由于HashTable的 ...
Read more
August 4, 2021
多线程
CountDownLatch你要问什么是CountDownLatch? 那我可有的说了。
之前干活的时候,有很多处理数据的任务,但是呢,数据量很大,写的java脚本执行下来肯定会比较慢,那怎么办呢,想起来刚毕业那会,有个同事写了一个并发调用的工具,当时感觉碉堡了。
当我查看这个工具的具体实现 ...
Read more