1).饿汉式(静态常量)

步骤如下:

①构造器私有化

②类的内部创建对象

③向外部暴露一个静态的公共方法

优点:  这种写法比较简单,就是在类加载的时候就完成实例化,避免了线程同步问题。

public class SingletonTest01 {public static void main(String[] args){Singleton1 s1 = Singleton1.getSingleton1();Singleton1 s2 = Singleton1.getSingleton1();// s1, s2是同一个实例System.out.println(s1 == s2);System.out.println(s1.hashCode()+"  "+s2.hashCode());}
}// 饿汉式(静态变量)
class Singleton1{// 构造器私有化,外部不能newprivate Singleton1(){}// 本类内部创建对象实例private final static Singleton1 instance = new Singleton1();// 向外部暴露一个静态的公共方法public static Singleton1 getSingleton1(){return instance;}
}

2).饿汉式(静态代码块)

public class SingletonTest02 {public static void main(String[] args){Singleton1 s1 = Singleton1.getSingleton1();Singleton1 s2 = Singleton1.getSingleton1();// s1, s2是同一个实例System.out.println(s1 == s2);System.out.println(s1.hashCode()+"  "+s2.hashCode());}
}// 饿汉式(静态变量)
class Singleton1{// 构造器私有化,外部不能newprivate Singleton1(){}private static Singleton1 instance;// 本类内部静态代码块创建对象实例static {System.out.println("===");instance = new Singleton1();}// 向外部暴露一个静态的公共方法public static Singleton1 getSingleton1(){return instance;}
}

设计模式:单例模式之饿汉式相关推荐

  1. 设计模式—单例模式(饿汉式、懒汉式)

    目录 一.什么是单例模式? 二.单例模式的类型 三.单例模式的公共特征 四.单例模式-饿汉式 五.单例模式-懒汉式 5.1 懒汉式实现方式一(有问题不提倡使用) 5.2 懒汉式实现方式二(提倡使用) ...

  2. 设计模式——单例模式(饿汉式、懒汉式和DCL)

    所谓单例模式就是为了确保类在内存中只有一个对象,之所以会出现单例模式是因为,单例模式在系统内存中只存在一个对象,可以节约资源.当我们获得对象的时候,每次获得的都是同一个,那么我们可以先创建好一个实例, ...

  3. Spring框架学习day_01: 框架配置方式/ 管理对象的作用域/ 生命周期/ 组件扫描/ 单例模式:“懒汉式“,“饿汉式“

    1. Spring框架的作用 Spring框架的主要作用是创建对象和管理对象. 创建对象:类似于User user = new User(); 管理对象:随时可以通过Spring框架获取对象,甚至Sp ...

  4. 单例模式之饿汉式单例模式

    单例模式之饿汉式单例模式 单例模式三要素: 1.私有的静态属性,这主要是为了存储类唯一的实例 2.公共的静态方法,这主要是为了提供给外键生成获取单例的方法 3.用于限制类再次实例话的措施.一般会私有化 ...

  5. 单例模式:饿汉式vs懒汉式

    单例模式是指,在代码运行时,保证某一个类只能被创建一个对象,不可以被创建第二次对象. 饿汉式: 1.先将类中的构造器私有化,用private修饰,防止在外界创建对象 例: private Test() ...

  6. 设计模式之单例模式(饿汉式,懒汉式)

    饿汉式单例模式 public class Singleton1{/**一开始就创建了一个实例**/private static Singleton1 instance = new Singleton1 ...

  7. java单例设计模式双重_Java 设计模式 ——单例模式(饿汉,懒汉,双重锁,静态内部类)...

    设计模式: 是在大量的实践中总结和理论化之后优选的代码结构,编程风格,以及解决问题的思考方式.设计模式免去我们自己再思考和摸索.就像是经典的棋谱,不同的棋局,我们用不同的棋谱 俗称"套路&q ...

  8. Java单例模式(饿汉式和懒汉式)代码

    单例设计模式 所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法.如果我们要让类在一个虚拟机中只能产生一个对象,我们首 ...

  9. 单例模式之饿汉式与懒汉式

    常见的单例模式 本文仅讲解单例模式中的饿汉式和懒汉式(双检索) 文章目录 常见的单例模式 前言 一.单例模式的优缺点 二.详解懒汉式.饿汉式 1.饿汉式 2.懒汉式(双检锁) 总结 前言 先来简单的说 ...

最新文章

  1. js push(),pop(),unshift(),shift()的用法小结
  2. 正则表达式匹配C++代码实现
  3. 【笔记】Comparison of Object Detection and Patch-Based Classification Deep Learning Models on Mid- to La
  4. 互联网内容平台到底要用到多少AI技术?
  5. ITK:在灰度图像中标记连接的组件
  6. P1111 修复公路 (prim)
  7. Matlab程序里Uref什么意思,SVPWM控制算法MATLAB仿真
  8. JSON 和 JavaScript 对象互转
  9. php7.0 百度百科,PHP 7.0.10正式发布
  10. TI基于MSP430F67641的电能表技术方案
  11. mysql 常用数据库连接池_常见的数据库连接池
  12. input框placeholder样式修改
  13. JavaScript(五)—— Web APIs 简介/JavaScript 必须掌握的 DOM 操作 (丰富案例 + 思维导图)
  14. Android开发笔记(三十七)按钮类控件
  15. 天梯—重要的话说三遍(C语言)
  16. 减少文件间的编译依赖
  17. PHP报错:Malformed UTF-8 characters, possibly incorrectly encoded
  18. coreseek笔记
  19. matlab 模态,用matlab做模态分析
  20. C语言枚举类型和联合体

热门文章

  1. Linux fork()一个进程内核态的变化
  2. 洛谷P1546 最短网络 Agri-Net
  3. webkit webApp 开发技术要点总结
  4. 同是iPad退差价却不同?
  5. 记一次工作中的小BUG
  6. python 函数复习
  7. ORACLE安装报错解决
  8. 1516. 棋盘上的车[组合数学][状态压缩]
  9. CHIL-ORACLE-主外键约束(primary key / foreign key)
  10. Qt之对话框设计——淡入淡出效果