定义
状态模式:它主要用来解决对象在多种状态转换时,需要对外输出不同的行为的问题。状态和行为是一一对应的,状态之间可以相互转换
当一个对象的内在状态改变时,允许改变其行为,这个对象看起来像是改变了其类
状态模式结构
代码示例
需求:视频网站有着会员和很多视频,会员又分为三级,普...
2年前 (2022-10-03) 968℃
0喜欢
定义
策略模式Strategy是⼀种⾏为设计模式, 它能让你定义⼀系列算法, 并将每种算法分别放⼊独⽴的类中, 以使算法的对象能够相互替换。
策略模式的结构
案例代码
需求:项目中和数据库打交道,Java中通常会开发一些Dao数据访问对象,来完成与数据库的增删改查操作。但是在J...
2年前 (2022-10-03) 1090℃
0喜欢
定义
中介者模式Mediator属于⾏为模式, 能让你减少对象之间混乱⽆序的依赖关系。 该模式会限制对 象之间的直接交互, 迫使它们通过⼀个中介者对象进⾏合作。
原始设计
改进后引入中介者
中介者模式结构
中介者模式⼜称为调停者模式,从类图中看,共分为3部分:...
2年前 (2022-10-03) 954℃
0喜欢
定义
迭代器模式属于行为模式,提供一种方法访问一个容器对象中各个元素,而又不暴露该对象的内部细节。
如果我们的集合元素是用不同的方式实现的,有数组,还有 java 的集合类,或者还有其他方式,当客户端要遍历这些集合元素的时候就要使用多种遍历方式,而且还会暴露元素的内部结构,可以考...
2年前 (2022-10-03) 896℃
0喜欢
享元模式基本介绍
1、享元模式: 运用共享技术有效地支持大量细粒度的对象
2、常用于系统底层开发,解决系统的性能问题。像 数据库连接池,里面都是创建好的连接对象,在 这些连接对象中有我们需要的则直接拿来用,避 免重新创建,如果没有我们需要的,则创建一个
3、享元模式能够解决重复对...
2年前 (2022-10-03) 870℃
0喜欢
组合模式介绍
组合模式,主要是用来处理树形结构数据。这里的“数据”,可以简单理解为一组对象集合。
正因为其应用场景的特殊性,数据必须能表示成树形结构,这也导致了这种模式在实际的项目开发中并不那么常用。但是,一旦数据满足树形结构,应用这种模式就能发挥很大的作用,能让代码变得非常简洁...
2年前 (2022-10-03) 3803℃
0喜欢
JVM内存结构位置
虚拟机栈概述
Java虚拟机栈是什么
Java虚拟机栈(Java Virtual Machine Stack),早期也叫Java栈。每个线程在创建时都会创建一个虚拟机栈,其内部保存一个个的栈帧(Stack Frame),对应着一次次的Java方法调用,栈是线...
2年前 (2022-09-27) 2154℃
2喜欢
堆、栈、方法区的交互关系
下面涉及了对象的访问定位
1、Person 类的 .class 信息存放在方法区中
2、person 变量存放在 Java 栈的局部变量表中
3、真正的 person 对象存放在 Java 堆中
4、在 person 对象中,有个指针指向方法区中的 pe...
2年前 (2022-09-27) 1135℃
0喜欢
JVM内存结构位置
对于JAVA应用程序来说,Java堆(Java Heap)是虚拟机所管理的内存中最大的一块。Java堆是被所有线程共享的一块内存区域,在虚拟机启动时创建。此内存区域的 唯一目的就是存放对象实例,Java世界里“几乎”所有的对象实例都在这里分配内存。
在《J...
2年前 (2022-09-27) 816℃
0喜欢
JVM内存结构位置
本地方法接口
1、简单地讲,一个本地方法是一个Java调用非Java代码的接囗,本地方法是这样一个Java方法:该方法的实现由非Java语言实现,比如C。这个特征并非Java所特有,很多其它的编程语言都有这一机制,比如在C++中,你可以用extern 告知C...
2年前 (2022-09-27) 1060℃
0喜欢