java单例注册表_Java单例模式(Singleton)
单例模式主要用于:有一些对象我们只需要一个,比如:线程池、缓存、对话框、处理偏好设置、注册表对象、日志对象以及配置文件对象、数据库连接对象等等。单例模式常用于管理共享资源,例如:数据库连接或者线程池。
Java Singleton模式就为我们提供了这样实现的可能。使用Singleton的好处还在于可以节省内存,因为它限制了实例的个数,有利Java垃圾回收(garbagecollection)。
这些对象只能有一个实例,如果制造出多个实例,就会导致很多问题如:程序异常、资源使用过量等。
单例模式很像静态类,它自身有一个全局访问点但是又没有全局变量的缺点:如果将一个对象赋值给一个全局变量,那么你必须在程序一开始的时候就得创建好对象,如果执行过程中没有用到,就会非常耗费资源。
单例模式主要有三个部分:
1.私有构造方法:防止外部实例化,只有内部可以实例化
2.有一全局静态方法:
(1).可以访问私有的构造方法进行实例化。
(2).外部调用静态方法,如果存在singleton实例就返回,如果不存在则创建一个实例.自己进行对实例进行管理.
3.静态变量:利用一个静态变量来记录Singleton的唯一实例。
单例模式的UML非常简单,但是真正用好单例模式,也是有点难度的
单例模式的源代码如下:
publicclassSingleton{
//利用一个静态变量来记录Singleton类的唯一实例
privatestaticSingleton uiqueInstance;
//把构造函数声明为私有的,外部不可以实例化,只有内部可以实例化
privateSingleton(){
}
//外部通过调用静态方法getInstance(),来获得实例化对象
publicstaticSingleton getInstance(){
//内部自己管理实例,始终保证只有一个实例
if(uniqueInstance ==null) {
//如果没有实例,则创建实例,在类的内部可以访问构造函数,进而实例化
uniqueInstance =newSingleton();
}
//如果已经存在就直接将实例返回就行了
returnuniqueInstance;
}
}
java单例注册表_Java单例模式(Singleton)相关推荐
- java单例注册表_Spring对单例的底层实现,单例注册表
public abstract class AbstractBeanFactory implementsConfigurableBeanFactory{/*** 充当了Bean实例的缓存,实现方式和单 ...
- java单例设计模式双重_Java 设计模式 ——单例模式(饿汉,懒汉,双重锁,静态内部类)...
设计模式: 是在大量的实践中总结和理论化之后优选的代码结构,编程风格,以及解决问题的思考方式.设计模式免去我们自己再思考和摸索.就像是经典的棋谱,不同的棋局,我们用不同的棋谱 俗称"套路&q ...
- java 单例 生命周期_单例模式--- 声明周期托管方式
声明周期托管方式,IOC JAVA代码 MyManager.java import java.util.HashMap; /** * 为了管理对象的产生 * 对象的控制权给当前类负责 * 生命周期托管 ...
- java单例设计模式懒汉_Java设计模式之单例设计模式(懒汉、饿汉)
[toc] Java设计模式之单例设计模式(懒汉.饿汉) 相信面试过的初中级Java开发的朋友可能都有遇到过单例设计模式的笔试题吧,如果之前没有背下来或者不理解,可以看看下面这篇文章,应该足够应付笔试 ...
- java 运行环境注册表_Java运行环境与Windows注册表
有两种Java运行环境(JRE),公有JRE (public JRE)与私有JRE(private JRE).JDK安装程序会安装私有JRE和一个可选的公有JRE.私有JRE完全包含在JDK的安装路径 ...
- java web登陆注册表_Java 访问注册表 - Rayn——做今天最好的自己 - OSCHINA - 中文开源技术交流社区...
import java.util.prefs.*;public class Registery {String[] keys = {"version", "initial ...
- filter java 是单例的吗_JAVA 设计模式之 单例模式详解
单例模式:(Singleton Pattern)是指确保一个类在任何情况下都绝对只有一个实例,并提供一个全局访问点.单例模式是创建型模式.单例模式在现实生活中应用也非常广泛. 在 J2EE 标准中,S ...
- java单例设计模式_Java设计模式之单例模式详解
在Java开发过程中,很多场景下都会碰到或要用到单例模式,在设计模式里也是经常作为指导学习的热门模式之一,相信每位开发同事都用到过.我们总是沿着前辈的足迹去做设定好的思路,往往没去探究为何这么做,所以 ...
- java单例代码_java中的单例模式的代码怎么写
单例模式在我们日常的项目中十分常见,当我们在项目中需要一个这样的一个对象,这个对象在内存中只能有一个实例,这时我们就需要用到单例. 一般说来,单例模式通常有以下几种: 1.饥汉式单例 public c ...
最新文章
- 联想 重装系统后F5 F6键无法使用
- 简单描述DDL、DCL、DML
- 从蚂蚁金服一窥人工智能在金融领域的机遇与挑战
- tcpdump抓包命令_tcpdump实战
- px,em,rem,vw单位在网页和移动端的应用
- ios 内存管理的理解(三)ARC下 对象内存管理
- 基于Swoole和beanstalkd实现多进程处理消息队列。
- Keras学习---MLP和CNN模型建立篇
- SQLHelp sql数据库的DAL
- 【Shiro第七篇】SpringBoot + Shiro实现会话管理
- 统信UOS使用wine安装“方正ApabiReader_4.5.2.1790(ceb阅读器)”并解决安装过程中文显示成方块问题
- Xshell上传文件到Centos服务器
- NLTK加载自定义词典
- linux skb_buf大小,linux网络 skb_buff
- 计算机的硬盘类型及特点是,电脑硬盘中的蓝盘、黑盘、红盘、绿盘有什么区别?特点?...
- python的皮卡丘如何写代码,用python画皮卡丘的代码
- Vue的MVVM(model、view、viewmodel)
- java md5加密 jar包_BeanShell调用自己写的jar包进行MD5加密
- git第一次提交代码到远程仓库
- 2022届秋招,从被拒到上岸 | 谈谈YK菌在2021年的经历与收获
热门文章
- volatile关键字的作用
- java ee的小程序_扩展Java EE应用程序的基础
- java8默认垃圾收集器_Java 8中最快的垃圾收集器是什么?
- hibernate查询缓存_Hibernate查询缓存如何工作
- nodemanager_如何使用NodeManager来控制WebLogic Server
- junit:junit_处理JUnit中异常的另一种方法:catch-exception
- 创新设计模式:单例模式
- java8 javafx_Java 8的新增功能(第1部分– JavaFX)
- Java Optionals获得更具表现力的代码
- 背压加载文件– RxJava常见问题解答