解释器设计模式
摘要:1在编译原理中,一个算术表达式通过词法分析器形成词法单元,而后这些词法单元再通过语法分析器构建语法分析树,最终形成一颗抽象的语法分析树。这里的词法分析器和语法分析器都可以看做是解释器 2解析器模式:是指给定一个语言(表达式),定义它的文法的一种表示,并定义一个解析器,使用该解析器来解析语言中的句子(
阅读全文
posted @
2021-12-21 21:07
无心睡眠A8
阅读(62)
推荐(0)
命令设计模式
摘要:/** * @Author zh * @Description 命令的接口,用来规范执行的方法 * @Date 2021/12/20 */ public interface ICommand { //执行命令 public void execute(); //撤销命令 public void und
阅读全文
posted @
2021-12-20 20:10
无心睡眠A8
阅读(34)
推荐(0)
责任链设计模式
摘要:/** * @Author zh * @Description 请求实体类 * @Date 2021/12/20 */ @Data @ToString public class BuyRequest { private Integer id;//请求的id private String name;/
阅读全文
posted @
2021-12-20 20:06
无心睡眠A8
阅读(28)
推荐(0)
享元设计模式
摘要:public class User { private String username; public User(String username) { this.username = username; } public String getUsername() { return username;
阅读全文
posted @
2021-12-17 10:56
无心睡眠A8
阅读(31)
推荐(0)
动态设计模式
摘要:public interface ISalPc { public String sail(double price); } public class SalPcFactory implements ISalPc{ @Override public String sail(double price)
阅读全文
posted @
2021-12-17 10:53
无心睡眠A8
阅读(46)
推荐(0)
装饰者设计模式
摘要:public interface IHouse { //往里面添东西 void goods(); } public class Decorator1 implements IHouse { @Override public void goods() { //不要换行输出:测试时语句 System.o
阅读全文
posted @
2021-12-15 09:57
无心睡眠A8
阅读(32)
推荐(0)
利用Fork-Join计算1-100的和 ,会把数组放入数组
摘要:/** * @Author zh * @Description 利用Fork-Join计算1-100的和 ,会把数组放入数组 * @Date 2021/12/14 */ /* 一个大的任务拆分成多个子任务进行并行处理, 最后将子任务结果合并成最后的计算结果,并进行输出。 */ public clas
阅读全文
posted @
2021-12-14 21:20
无心睡眠A8
阅读(63)
推荐(0)
归并排序
摘要:归并排序:代码实现 格式:两个方法 一个分的方法(结束标记) 一个合并的方法 /** * @Author zh * @Description 实现归并排序 * @Date 2021/12/14 */ public class Merge { //分的方法fork public static int[
阅读全文
posted @
2021-12-14 21:18
无心睡眠A8
阅读(29)
推荐(0)
组合模式: Compsite Pattern
摘要:组合模式(Compsite Pattern),又叫部分整体模式,是用来把一组相似的对象当作一个单独的对象。的设计模式属于结构型模式,它创建了对象组的树形结构。 ### 代码1 Category ``` private Integer id;//主键id private Integer parentI
阅读全文
posted @
2021-12-13 11:03
无心睡眠A8
阅读(91)
推荐(0)
过滤器模式Filter或标准模式Criteria
摘要:过滤器模式(Filter Pattern)或标准模式(Criteria Pattern)是一种设计模式,这种模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来。这种类型的设计模式属于结构型模式,它结合多个标准来获得单一标准 public class Stall im
阅读全文
posted @
2021-12-13 10:59
无心睡眠A8
阅读(222)
推荐(0)
桥接模式
摘要:桥接模式Bridge Pattern 桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。 这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而
阅读全文
posted @
2021-12-09 10:41
无心睡眠A8
阅读(27)
推荐(0)
适配器模式
摘要:适配器模式Adapter Pattern **意图:**将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 **关键代码:**适配器继承或依赖已有的对象,实现想要的目标接口。 **应用实例:** 电压的例子: 220 110 平台 小说:
阅读全文
posted @
2021-12-09 10:23
无心睡眠A8
阅读(34)
推荐(0)
原型设计模型
摘要:public interface IGetObject { //复制一个对象的方法 Object clone(); } public class Hero implements IGetObject{ private int id; private String name; public Hero(
阅读全文
posted @
2021-12-08 17:49
无心睡眠A8
阅读(42)
推荐(0)
建造者设计模式
摘要:/** * @Author zh * @Description英雄的实体类 * @Date 2021/12/7 */ public class Hero implements Serializable{ //要构造的是英雄的名字 技能和装备 private String name; private
阅读全文
posted @
2021-12-08 17:37
无心睡眠A8
阅读(29)
推荐(0)
Exchange 交换者 并发工具类
摘要:Exchanger(交换者)是一个用于线程间协作的工具类。Exchanger 用于进行线程间的数据交换。它提供一个同步点,在这个同步点,两个线程可以交换彼此的数据。这两个线程通过 exchange 方法交换数据,如果第一个线程先执行exchange()方法,它会一直等待第二个线程也执行 exchan
阅读全文
posted @
2021-12-08 11:06
无心睡眠A8
阅读(60)
推荐(0)
Semaphore 并发工具类
摘要:Java 中的 Semaphore 是一种新的同步类,它是一个计数信号。从概念上讲,信号量维护了一个许可集合。如有必要,在许可可用前会阻塞每一个acquire(),然后再获取该许可。每个 release()添加一个许可,从而可能释放一个正在阻塞的获取者。但是,不使用实际的许可对象,Semaphore
阅读全文
posted @
2021-12-08 11:04
无心睡眠A8
阅读(40)
推荐(0)
CountDownLatch 和 CyclicBarrier 这两个的区别
摘要:1、CountDownLatch 简单的说就是一个线程等待,直到他所等待的其他线程都执行完成并且调用 countDown()方法发出通知后,当前线程才可以继续执行。2、cyclicBarrier 是所有线程都进行等待,直到所有线程都准备好进入 await()方法之后,所有线程同时开始执行!3、Cou
阅读全文
posted @
2021-12-08 10:52
无心睡眠A8
阅读(157)
推荐(0)
并发工具类 CyclicBarrier
摘要:/** * @Author zh * @Description 并发工具类 :可以循环的并发工具类(可以重新计数) * 1.CycliBarrier 可以指定并发数量 * 2.await():是一个阻塞方法 用来计数 * 3.可以设置一个优先级高的线程 当await达到数量后,优先与其它等待线程执行
阅读全文
posted @
2021-12-06 20:46
无心睡眠A8
阅读(39)
推荐(0)
并发工具类 CountDownLatch
摘要:* CountDownLatch:并发工具类 * 1.一般有两个线程类 一个线程await() 方法 * 这个方法是一个阻塞方法 当 要求的数量 减少到0的时候进行往下执行 * 2.countDown() 方法 执行一次 ,数量减1 * 3.创建 CountDownLatch 参数里面指定它的数量(
阅读全文
posted @
2021-12-06 20:42
无心睡眠A8
阅读(16)
推荐(0)