20190121——不慕神仙?不羡神仙! java中的单例模式
单例(Singleton)模式是Java中最简单的设计模式之一,这种类型的设计模式属于创建模式,因此模式提供了创建对象的最佳方法之一
这中模式涉及一个类,它负责创建一个对象,同时只要确保创建一个对象,这个类提供了一种方法来访问它的唯一对象,可以直接访问,而不需要实例化类的对象。
实例实现
我们将创建一个单一对象类,SingleObject,单个对象(SingleObject)类的构造函数是私有的,并且具有自身的静态实例。
SingleObject类提供了一个静态方法来获取其静态实例到外部世界,SingletonPatternDemo或示例类将使用SingleObject类获取SingleObject对象
SingleObject代码
package 单例模式;public class SingleObject {private static SingleObject instance=new SingleObject();private SingleObject(){}public static SingleObject getInstance(){return instance;}public void showMessage(){System.out.println("Hello World");}
}
Demo实例
package 单例模式;public class SingletonPatternDemo {public static void main(String[] args) {SingleObject object = SingleObject.getInstance();object.showMessage();}
}
聊点别的
java单例模式确保一个类有一个实例,自行提供这个实例并向整个系统提供这个实例
特点:
1.一个类只能有一个实例
2.自己创建这个实例
3.整个系统都要用到这个实例
singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在,在很多操作中,比如建立目录、数据库连接都需要这样的单线程操作。一些资源管理器常常设计成为单例模式。
外部资源:譬如每台计算机可以有多台打印机,但只能有一个Printer Spooler,以避免两个打印作业同时输出到打印机。每台计算机可以有若干个通信接口,系统应当集中管理这些通信端口,以避免一个通信端口被两个请求同时调用
内部资源,譬如,大多数的软件只有一个(甚至多个)属性文件存放系统配置,这样的系统就应当由一个对象来管理这些属性文件。
单例模式:能避免实例重复创建
单例模式:应用于避免存在多个实例引起的程序逻辑错误的场合
单例模式:较节约内存
20190121——不慕神仙?不羡神仙! java中的单例模式相关推荐
- Java中的单例模式
2019独角兽企业重金招聘Python工程师标准>>> 最近网上查找资料做了一下总结,Java中的单例模式主要是有以下两种实现方式: 1.public class Singleton ...
- 在Java中实现单例模式的有效方法是什么? [关闭]
在Java中实现单例模式的有效方法是什么? #1楼 我使用Spring框架来管理我的单身人士. 它不会强制类的"单一性"(如果涉及多个类加载器,您将无法真正做到),但是它提供了一种 ...
- java单例模式_在Java中实现单例模式
该单例模式保证只有一个带有全局访问点对象可以在给定的时间实例被创建.这是面向对象编程中最常用的技术之一.虽然它很简单,也许从类设计的角度来看最简单,但在尝试实现它们之前,必须先了解一些微妙的问题.本文 ...
- java中的单例模式:懒汉式和饿汉式和静态内部类的书写
饿汉式: public class SingleTon {//1.私有化构造器private SingleTon(){}//2.在类内部创建一个对象private static SingleTon i ...
- Java中的双重检查锁定
在本文中,我们将介绍在RxJava中创建Singleton对象的一些技术. 最重要的是,我们将学习Java中的双重检查锁定 . Java中的Singleton模式是一种创新模式. 随着时间的流逝,人们 ...
- 关于java中getInstance()方法
关于java中getInstance()方法java 先看一个例子 public abstract class TestInstance { static int i = 1; public stat ...
- java中的单例_细说Java中的几种单例模式
在Java中,单例模式分为很多种,本人所了解的单例模式有以下几种,如有不全还请大家留言指点: 饿汉式 懒汉式/Double check(双重检索) 静态内部类 枚举单例 一.饿汉式 image 饿汉式 ...
- 20190121——不羡神仙 Java设计模式
设计模式代表有经验的面向对象开发人员使用的最佳实践. 设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案.这些解决方案是由许多软件开发人员在相当长的时间内通过试错认识的. 设计模式的使用 ...
- Java中2.5D游戏(斜45度角)的设计与实现(1)
通常的概念中,2D也就是所谓的二维,也就是平面图形--即由X与Y坐标构成的图形,其内容由水平的X轴向与垂直的Y轴描绘确定,也就是由长和高的形成所谓的二维平面. 而所谓3D,也称之为三维.其图形内容除了 ...
最新文章
- Python递归实现快速排序
- 【MATLAB】进阶绘图 ( Boxplot 箱线图 | boxplot 函数 | Error Bar 误差条线图 | errorbar 函数 )
- oss可用性_对象存储OSS详解
- pycharm 皮肤主题及个性化设置
- VTK:Video之FFMPEG
- 中标麒麟linux系统忘记root密码,中标麒麟(龙芯CPU)--忘记root密码怎么修改?
- C# 生成 MongoDB 中的 ObjectId
- 关于Tomcat双击startup.bat文件一闪而过问题
- 前端学习(2670): vue3.0实战开始建立新项目功能清单
- 有了数学基础,如何进阶AI?
- Lua学习笔记(5): 表
- 作业帮:字符串反转(头部插入)
- Linux服务器中的wget、curl和scp
- TestNG介绍 - 1
- OSG——- 对点选物体平移(鼠标点选物体、物体随鼠标移动、屏幕坐标转世界坐标)
- TOMCAT下载及配置
- 神舟微型计算机登录密码忘记,win10开机密码忘记按f2(win10忘记密码强制重置)
- 如何利用信息差来创造价值?
- 前端微信签名验证工具_微信支付服务商签名验证无误,但是统一下单后服务器返回【签名错误】...
- python1000以内水仙花数_python 计算1000以内的水仙花数
热门文章
- Windows 10即将“被订阅”:关于订阅制的痛并快乐
- @Transactional注解和Mybatis缓存问题(Mybatis 查询结果 List 对List修改后再次查询,结果与数据库不一致)
- mysql 重装_重装系统后,mysql应该怎么恢復过去
- go 拉取仓库依赖报错:fatal: could not read Username for ‘https://code.byted.org‘: terminal prompts disabled
- 民族企业家周景川:凡事勤则易,凡事惰则难
- js判断早上好,上午好,中午好,下午好,晚上好
- Java程序完形填空题_大学英语六级完形填空试题考前冲刺附答案
- 去哪儿网首页分析 Home.vue
- 在MarkDown中插入本地图片
- 曼尼托巴大学计算机科学硕士,曼尼托巴大学电气和计算机工程硕士解析