1.单例设计模式

1. 饿汉设计模式

  1. public class SingleDemo {
  2. private SingleDemo() {
  3. }
  4. private volatile static SingleDemo singleDemo;
  5. public static SingleDemo getInstance() {
  6. if (singleDemo == null) { // 判断对象是否为null
  7. synchronized (SingleDemo.class) { // 如果为null就进入该方法 , 只允许一个线程进入该方法
  8. if (singleDemo == null) { // 创建完成之后 , 后面也有会线程进来 , 所以在判断一次
  9. singleDemo = new SingleDemo();
  10. }
  11. }
  12. }
  13. return singleDemo;
  14. }
  15. }

2.懒汉设计模式

  1. public class SingleDemo {
  2. private SingleDemo() {
  3. }
  4. private final static SingleDemo singleDemo = new SingleDemo();
  5. public static SingleDemo getInstance() {
  6. return singleDemo;
  7. }
  8. }

2.原型(Prototype)模式

原型模式,就是用于重复的创建对象,同时又能保证性能

3.工厂方法设计

1.简单工厂