- 博客(24)
- 收藏
- 关注
原创 start run
new T1().run();//run方法会单独跑完整个线程再跑下面的语句 new T1().start();//start方法会跑线程的同时跑另一个线程
2020-07-29 15:39:24
475
原创 访问者模式
意图:主要将数据结构与数据操作分离。 主要解决:稳定的数据结构和易变的操作耦合问题。 何时使用:需要对一个对象结构中的对象进行很多不同的并且不相关的操作,而需要避免让这些操作"污染"这些对象的类,使用访问者模式将这些封装到类中。 如何解决:在被访问的类里面加一个对外提供接待访问者的接口。 关键代码:在数据基础类里面有一个方法接受访问者,将自身引用传入访问者。 ...
2020-07-24 17:32:06
110
原创 责任链模式
定义:使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。
2020-06-18 17:02:45
158
原创 代理模式
定义:为其他对象提供一种代理以控制对这个对象的访问。 静态代理: 1.定义一个接口 2.定义一个具体类实现接口 3.定义一个代理类,里面有具体类的引用,并且实现了接口,重写的方法调用了具体类 4使用:调用代理类的重写方法 动态代理:jdk反射生成代理必须面向接口,这是由Proxy的内部实现决定的 1.定义一个接口 2.定义一个具体类实现了接口 3.定义一个代理类实现InvocationHandler接口,里面有接口的引用,有两个代理方法,一个重写方法,重写方法调用了接口引用。 4..
2020-06-17 16:43:02
81
原创 组合模式
定义:将对象组合成树形结构以表示“部分-整体”的层次结构。Composite使得用户对单个对象和组合对象的使用具有一致性。 1.定义一个抽象的结点类 2.定义一个叶子的具体结点类,继承自抽象结点类 3,定义一个具体的主干结点类,里面包含一个结点列表。 4.使用:组合成树状结构。 ...
2020-06-12 16:45:35
95
原创 原型模式
浅克隆 1.定义一个类,实现Cloneable接口 2.使用:实例化这个类----》再定义一个此类变量,调用每一个类的clone()方法 这样克隆出来的类,里面的引用类型所指向的变量没有变化。 深克隆 1.定义一个类,实现Cloneable接口 2.上面的类里面所引用的引用变量,也要定义为实现cloneable接口 3.使用:实例化这个类----》再定义一个此类变量,调用每一个类的clone()方法,里面的引用变量亦要调用clone()方法。 ...
2020-06-12 16:07:09
93
原创 建造者模式
1.定义一个需要的类,里面有不同的属性 2.定义一个构建复杂类的接口,用来说明分几个部分去构建那个类 3.定义一个具体的构建类,实现上面的接口 4.使用:new出构建类,new出需要的类,用构建器获得。 ...
2020-06-12 15:44:44
78
原创 单例
饿汉模式 1.定义一个private static final单例类初始化变量 2.构造函数private 3.定义一个static返回单例类的方法 懒汉模式 1.定义一个private static单例类未初始化变量 2.构造函数private 3.定义一个static返回单例类的方法,判断无实例时返回单例类实例 这时有线程安全问题。 懒汉双重检查模式 1.定义一个private staticvolatile单例类未初始化变量 2.构造函数private 3.定义一...
2020-06-12 14:57:08
96
原创 工厂方法
1.定义一个产品类的接口,供某个产品去实现 2.定义一个具体产品类。 3.定义一个单个的产品工厂。 4,重复1-3,直到定义出所有的产品 4.1.还有一个做法把所有的产品建造都放到同一个工厂类里,这种叫静态工厂。 5.使用:new出不同的工厂。获取不同的产品。 ...
2020-06-12 14:38:09
63
原创 抽象工厂模式
抽象工厂模式 抽象工厂模式 1.定义一个产品族的抽象工厂类,抽象类+抽象方法 2.定义单个的产品抽象类,抽象类+抽象方法。 3.定义单个的产品具体类,继承自产品类 4.定义产品族的具体实现类,继承自抽象工厂类。 5.重复二三步,直到定义出所有的产品族。 6.使用:new出工厂,得到产品族。 ...
2020-06-12 11:37:00
72
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1