1, 效果

1.1 第一次获取时创建对象, 以后获取都是同一个, 这就是单例模式

2, 案例代码

public class SingletonPattern {private static User user;public static User getInstance() {if (user == null) {synchronized (SingletonPattern.class) {if (user == null) {user = new User();}}}return user;}public static void main(String[] args) {User user = getInstance();user.name = "12312312";User user2 = getInstance();System.out.println(user2.name);User user3 = getInstance();System.out.println(user2.name);}
}class User {public String name;
}

输出

/**后面拿的对象都是同一个
*/12312312
12312312Process finished with exit code 0

进阶学习(3.5) Singleton Pattern 单例模式相关推荐

  1. Singleton Pattern (单例模式)

    单例模式,确保某个类只能生成一个实例 单例模式的构造方法必须定义为私有(private)的 必须要定义一个静态(static)的方法,作为生成这个对象实例的入口 [java] view plain c ...

  2. 八.创建型设计模式——Singleton Pattern(单例模式)

    定义 单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例.这个类称为单例类,它提供全局访问的方法.单例模式的要点有三个:一是某个类只能有一个实例:二是它必须自行创建这个实例:三是 ...

  3. 进阶学习(3.12) Operand Pattern 装饰器模式

    1, 什么是装饰器 1.1  装饰针对的是某一对象, 它不会改变事物的本质,  比如一个人买了一顶帽子, 它本质还是一个人 1.2  比如一个Date 对象, 它本质还是一个Object, 这个太抽象 ...

  4. 进阶学习(3.7) Flyweight Pattern 享元模式

    1, 前言 看完了设计模式发现, 设计模式是一种设计思想, 并不是某种规范, 要是让我去记设计模式的规范, 我是无法记住的, 也无法应用实际, 所以此后的设计模式, 都将注重思想理解,  学会举一反三 ...

  5. 进阶学习(3.14) Strategy Pattern 策略模式

    1, 什么是策略模式 1.1  未达到预期目的的各种应对方案 1.2  程序代码中的每一个分支都可以称之为策略, 而策略模式,则是将行为划分到具体类, 使用类对象区分行为 2, 优缺点 2.1  减少 ...

  6. 进阶学习(3.13) Proxy Pattern 代理模式

    1, 代理模式, 这个地方的代理不是指JDK 动态代理 2, 代理模式和策略模式很像, 要注意区分, 区分的特征就是 2.1) 装饰者可以对任何的装饰抽象实例进行装饰, https://blog.cs ...

  7. 进阶学习(3.11) Facade Pattern 门面模式

    1, 什么叫门面模式, 也称之为接待员模式 1.1 我更愿意称之为阿拉丁模式, 阿拉丁灯神, 你想什么, 它就直接给你实现了, 你别管中间有多少困难, 他就直接给你实现了 1.2 好下面介绍门面模式, ...

  8. 进阶学习(3.10) Adapter Pattern 适配器模式

    1, 什么是适配器 1.1  扳手是用来拧螺丝的,  我要想适配到合适的扳手, 我肯定得先知道螺丝的大小 1.2  一种约定, 就好比后端Java 写的接口, 每个对外接口都是适配前端的请求 1.3 ...

  9. 进阶学习(3.9) Bridge Pattern 桥接模式

    1, 什么是桥接 桥,  提供给两方, 或者多方相交汇的作用, 例如, A 函数想调用 B 函数, 常见的方法就是, 直接在A 中显式 调用B, 这样存在高耦合,  如果我们使用一个中间函数C, 在C ...

最新文章

  1. 【学界】深度学习如何影响运筹学?
  2. access vba表字段_Access获取表字段的所有属性信息
  3. python Django基本介绍
  4. LeetCode-321 Create Maximum Number
  5. linux yast 软件管理_系统管理工具 Spacewalk
  6. notepad批量删除html元素,Notepad++几个常用删除类正则表达式汇总(收藏)
  7. tkinter Canvas画图片大坑总结
  8. 关于qt中的tr( )函数
  9. Atitit  信息管理 艾提拉著作 CAPT1信息源数据源 目录 1. 数据元的数据格式 图片 文本 视频 音频 2 2. 按照应用功能使用分类 2 2.1. Diary Cyarlog 2
  10. 移动平台课程设计--日记本
  11. orbslam2初始化流程
  12. javascript-cropper插件翻译笔记
  13. 将计算机图标调整成光盘形状,win7系统本地磁盘图标变成U盘形状的解决方法
  14. Chrome (Google) 浏览器的快捷键大全
  15. 43-高级路由:BGP 起源属性:修改为e
  16. Win7秘籍 如何用压缩卷调整不合理分区
  17. 前端:简述表单提交前如何进行数据验证
  18. java安全架构____X.509原理
  19. BW增强-BAdI(初级)
  20. iFixit拆Galaxy Fold发现异物易入侵机内

热门文章

  1. FFMPEG 日志输出控制
  2. [Caffe]:关于Eltwise layer
  3. python 判断debug
  4. github样式错乱 解决
  5. System_Recovery_21.0.3_62137_Multilingual_Product
  6. MySQL从入门到搞定实战
  7. python和对象复习_【Python复习巩固 Day4】面向对象编程
  8. Git config 查看和设置配置信息
  9. awk读取txt生成mysql插入语句
  10. linux中yum怎么安装服务器,yum安装(linux如何安装yum)