Java 单例设计模式
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 单例设计模式相关推荐
- java 单例设计模式 [
为了保证类在内存中只能有一个对象,构造函数需要private外面不实例化对象,提供一个公共方法返回一个实例 //饿汉式 class Single{ //需要是static的,getInstance方法 ...
- java单例设计模式_Java设计模式之单例模式详解
在Java开发过程中,很多场景下都会碰到或要用到单例模式,在设计模式里也是经常作为指导学习的热门模式之一,相信每位开发同事都用到过.我们总是沿着前辈的足迹去做设定好的思路,往往没去探究为何这么做,所以 ...
- java单例设计模式懒汉_Java设计模式之单例设计模式(懒汉、饿汉)
[toc] Java设计模式之单例设计模式(懒汉.饿汉) 相信面试过的初中级Java开发的朋友可能都有遇到过单例设计模式的笔试题吧,如果之前没有背下来或者不理解,可以看看下面这篇文章,应该足够应付笔试 ...
- java单例设计模式
单例模式的概念 单例类只有一个实例,并且只由自己创建,实例化后向整个系统提供自己的实例. 单例设计模式主要分为2种:懒汉式和饿汉式.2者的区别在于初始化的时间不同. 像线程池,缓存,日志等都被设计成单 ...
- Java单例设计模式(实现Java的一个类只有一个对象)
单例设计模式的定义:单例设计模式是一种软件设计模式,在它的核心包含一个称为单例类的核心类. 核心便是希望一个类只有一个对象. 如何实现类在内存中只有一个对象呢? 第一步:构造私有: 第二步:本身提供 ...
- Java|深入研究Java单例设计模式
欢迎点击「算法与编程之美」↑关注我们! 本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章. 简介 看到标题可能有人会问什么是单例模式呢? 在程序设计过程中 ...
- java单例设计模式之懒汉式和饿汉式
单例模式 所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法. 如果我们要让类在一个虚拟机中只能产生一个对象: 将类的 ...
- JAVA单例设计模式简单实现(懒汉与恶汉),多例设计模式的简单实现
单例设计模式饿汉式 package Singleton; public class Singleton { private static final Singleton INSTANCE = new ...
- 探讨一下Java单例设计模式
所谓单例模式,简单来说,就是在整个应用中保证只有一个类的实例存在.就像是Java Web中的application,也就是提供了一个全局变量,用处相当广泛,比如保存全局数据,实现全局性的操作等. 1. ...
- java单例设计模式双重_Java 设计模式 ——单例模式(饿汉,懒汉,双重锁,静态内部类)...
设计模式: 是在大量的实践中总结和理论化之后优选的代码结构,编程风格,以及解决问题的思考方式.设计模式免去我们自己再思考和摸索.就像是经典的棋谱,不同的棋局,我们用不同的棋谱 俗称"套路&q ...
最新文章
- CPU性能监控之一------CPU架构
- 基元检测 Primitive Detection
- python中扑克牌类设计_Python类的基础设计、使用
- JavaScript中常见的几种继承方式
- pandas 入门(详看注释)
- WinRAR 注册文件 注册码
- 网卡82546驱动linux,英特尔网卡驱动 Intel PRO100/1000/10GbE Win7/Win8/2
- 逆波兰表达式 c++
- Win10不能禁和不建议禁的服务以及禁用后的影响
- Excel怎么求和?5大常用的Excel求和公式
- 中文分词工具安装教程及分词和词性标注应用(jieba、pyhanlp、pkuseg、foolnltk、thulac、snownlp、nlpir)
- 腾讯大战360【SPFA】
- 【Day5.6】当地人的美食街
- 小组取什么名字好_霸气学习小组组名大全
- 微信授权登录接口合集
- java后台跳转页面实现方式
- 三极管的经典之作,你知道吗?
- FTP主动模式(passive)和被动模式(port)的区别
- 使用VueI18n.js实现国际化
- 撸一个自动换壁纸桌面应用
热门文章
- Android全局修改字体大小,Android 仿微信全局字体大小调整
- htm tt cite em u
- hibernate 多对多(many-to-many)
- Eclipse juno 中安装 JBoss Tools,集成Hibernate
- display:inline、block、inline-block的区别
- 三层架构实战篇—系统登录实例
- android 的listview 3大优化策略
- shell实例第17讲:连续输入4个100以内的数字,统计和、乘、平均、最小和最大
- C++11 的新特性
- C七:指向函数的指针 ------ 函数指针(function pointer)