Singleton:单例模式

1.在整个应用程序中,一个类只有一个实例对象

2.这个实例对象只能通过本类中创建=====>私有化构造

3.别人还得使用,通过本类中创建的一个对外访问的接口,来返回本类的实例对象

实现单例的3种模式:

1.懒汉式:只有用户第一次调用getInstence()的时候,对象的唯一实例才会被调用

创建懒汉单例模式的步骤:

01.创建静态变量

private static Student stu;

02.私有化构造

private Student(){}

03.提供对外访问的接口

public static synchronized Student getInstence(){

if(stu==null){

stu=new Student();

}

return stu;

}

04.测试类中使用

Student.getInstence()

2.饿汉式:(推荐使用)在类加载的时候,单例对象就被创建,是线程安全的

创建饿汉单例模式的步骤:

01.创建静态变量

private static Student stu=new Student();

02.私有化构造

private Student(){}

03.提供对外访问的接口

public static synchronized Student getInstence(){

return stu;

}

04.测试类中使用

Student.getInstence()

3.双重校验锁:为了保证多线程情况下,单例的正确性

创建双重校验锁单例模式的步骤:

01.创建静态变量

private static Student stu;

02.私有化构造

private Student(){}

03.提供对外访问的接口

public static synchronized Student getInstence(){

if(stu==null){

synchronized(Student.class){

if(stu==null){

stu=new Student();

}

}

}

return stu;

}

04.测试类中使用

Student.getInstence()

转载于:https://www.cnblogs.com/s10-/p/8287252.html

Java 单例设计模式相关推荐

  1. java 单例设计模式 [

    为了保证类在内存中只能有一个对象,构造函数需要private外面不实例化对象,提供一个公共方法返回一个实例 //饿汉式 class Single{ //需要是static的,getInstance方法 ...

  2. java单例设计模式_Java设计模式之单例模式详解

    在Java开发过程中,很多场景下都会碰到或要用到单例模式,在设计模式里也是经常作为指导学习的热门模式之一,相信每位开发同事都用到过.我们总是沿着前辈的足迹去做设定好的思路,往往没去探究为何这么做,所以 ...

  3. java单例设计模式懒汉_Java设计模式之单例设计模式(懒汉、饿汉)

    [toc] Java设计模式之单例设计模式(懒汉.饿汉) 相信面试过的初中级Java开发的朋友可能都有遇到过单例设计模式的笔试题吧,如果之前没有背下来或者不理解,可以看看下面这篇文章,应该足够应付笔试 ...

  4. java单例设计模式

    单例模式的概念 单例类只有一个实例,并且只由自己创建,实例化后向整个系统提供自己的实例. 单例设计模式主要分为2种:懒汉式和饿汉式.2者的区别在于初始化的时间不同. 像线程池,缓存,日志等都被设计成单 ...

  5. Java单例设计模式(实现Java的一个类只有一个对象)

    单例设计模式的定义:单例设计模式是一种软件设计模式,在它的核心包含一个称为单例类的核心类. 核心便是希望一个类只有一个对象.  如何实现类在内存中只有一个对象呢? 第一步:构造私有: 第二步:本身提供 ...

  6. Java|深入研究Java单例设计模式

    欢迎点击「算法与编程之美」↑关注我们! 本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章. 简介 看到标题可能有人会问什么是单例模式呢? 在程序设计过程中 ...

  7. java单例设计模式之懒汉式和饿汉式

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

  8. JAVA单例设计模式简单实现(懒汉与恶汉),多例设计模式的简单实现

    单例设计模式饿汉式 package Singleton; public class Singleton { private static final Singleton INSTANCE = new ...

  9. 探讨一下Java单例设计模式

    所谓单例模式,简单来说,就是在整个应用中保证只有一个类的实例存在.就像是Java Web中的application,也就是提供了一个全局变量,用处相当广泛,比如保存全局数据,实现全局性的操作等. 1. ...

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

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

最新文章

  1. CPU性能监控之一------CPU架构
  2. 基元检测 Primitive Detection
  3. python中扑克牌类设计_Python类的基础设计、使用
  4. JavaScript中常见的几种继承方式
  5. pandas 入门(详看注释)
  6. WinRAR 注册文件 注册码
  7. 网卡82546驱动linux,英特尔网卡驱动 Intel PRO100/1000/10GbE Win7/Win8/2
  8. 逆波兰表达式 c++
  9. Win10不能禁和不建议禁的服务以及禁用后的影响
  10. Excel怎么求和?5大常用的Excel求和公式
  11. 中文分词工具安装教程及分词和词性标注应用(jieba、pyhanlp、pkuseg、foolnltk、thulac、snownlp、nlpir)
  12. 腾讯大战360【SPFA】
  13. 【Day5.6】当地人的美食街
  14. 小组取什么名字好_霸气学习小组组名大全
  15. 微信授权登录接口合集
  16. java后台跳转页面实现方式
  17. 三极管的经典之作,你知道吗?
  18. FTP主动模式(passive)和被动模式(port)的区别
  19. 使用VueI18n.js实现国际化
  20. 撸一个自动换壁纸桌面应用

热门文章

  1. Android全局修改字体大小,Android 仿微信全局字体大小调整
  2. htm tt cite em u
  3. hibernate 多对多(many-to-many)
  4. Eclipse juno 中安装 JBoss Tools,集成Hibernate
  5. display:inline、block、inline-block的区别
  6. 三层架构实战篇—系统登录实例
  7. android 的listview 3大优化策略
  8. shell实例第17讲:连续输入4个100以内的数字,统计和、乘、平均、最小和最大
  9. C++11 的新特性
  10. C七:指向函数的指针 ------ 函数指针(function pointer)