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