singleton写一个Singleton出来

singleton  时间:2021-06-04  阅读:()

Singleton模式主要作用是什么?是写出一个完整的Singleton模式的程序,注意风格

单子模式,主要用于单线程。

有懒汉,和恶汉式区别。

public class Env() {

private Env env;

public Env getInstance(){

if(env==null){

env=new Env();

}

return env;

}

private Env(){

}

}

如何在java中实现singleton模式

单例模式大致有五种写法,分别为懒汉,恶汉,静态内部类,枚举和双重校验锁。

1、懒汉写法,常用写法 class?LazySingleton{ ????private?static?LazySingleton?singleton; ????private?LazySingleton(){ ????} ????public?static?LazySingleton?getInstance(){ ????????if(singleton==null){ ????????????singleton=new?LazySingleton(); ????????} ????????return?singleton; ????}??? }2、恶汉写法,缺点是没有达到lazy loading的效果 class?HungrySingleton{ ????private?static?HungrySingleton?singleton=new?HungrySingleton(); ????private?HungrySingleton(){} ????public?static?HungrySingleton?getInstance(){ ????????return?singleton; ????} }3、静态内部类,优点:加载时不会初始化静态变量INSTANCE,因为没有主动使用,达到Lazy loading class?InternalSingleton{ ????private?static?class?SingletonHolder{ ????????private?final?static??InternalSingleton?INSTANCE=new?InternalSingleton(); ????}??? ????private?InternalSingleton(){} ????public?static?InternalSingleton?getInstance(){ ????????return?SingletonHolder.INSTANCE; ????} }4、枚举,优点:不仅能避免多线程同步问题,而且还能防止反序列化重新创建新的对象 enum?EnumSingleton{ ????INSTANCE; ????public?void?doSomeThing(){ ????} }5、双重校验锁,在当前的内存模型中无效 class?LockSingleton{ ????private?volatile?static?LockSingleton?singleton; ????private?LockSingleton(){} ????public?static?LockSingleton?getInstance(){ ????????if(singleton==null){ ????????????synchronized(LockSingleton.class){ ????????????????if(singleton==null){ ????????????????????singleton=new?LockSingleton(); ????????????????} ????????????} ????????} ????????return?singleton; ????} }

两种单例模式有什么不同啊?

前一个单例的创建是在第一次调用方法时。

后一个单例的创建是实例化该类后就创建了。

但是笔者认为,后一个不是单例模式。

因为他可以同时创建多个对象。

而前一个虽说是,但不严谨,没考虑到同步问题。

在其得到实例方法中最好加上synchronized(同步)关键字…我手机回的。

具体的你可以百度下资料的。

写一个Singleton出来

1、饱汉模式 2、饥汉模式 3、用枚举 扩展资料 Singleton模式 Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。

一般Singleton模式通常有几种种形式:? 1、第一种形式: 2、第二种形式:? 参考资料:单例模式

菠萝云:带宽广州移动大带宽云广州云:广州移动8折优惠,月付39元

菠萝云国人商家,今天分享一下菠萝云的广州移动机房的套餐,广州移动机房分为NAT套餐和VDS套餐,NAT就是只给端口,共享IP,VDS有自己的独立IP,可做站,商家给的带宽起步为200M,最高给到800M,目前有一个8折的优惠,另外VDS有一个下单立减100元的活动,有需要的朋友可以看看。菠萝云优惠套餐:广州移动NAT套餐,开放100个TCP+UDP固定端口,共享IP,8折优惠码:gzydnat-8...

物语云-VPS-美国洛杉矶VPS无限流量云windows大带宽100M不限流量 26/月起

物语云计算怎么样?物语云计算(MonogatariCloud)是一家成立于2016年的老牌国人商家,主营国内游戏高防独服业务,拥有多家机房资源,产品质量过硬,颇有一定口碑。本次带来的是特惠活动为美国洛杉矶Cera机房的不限流量大带宽VPS,去程直连回程4837,支持免费安装Windows系统。值得注意的是,物语云采用的虚拟化技术为Hyper-v,因此并不会超售超开。一、物语云官网点击此处进入物语云...

ProfitServer$34.56/年,西班牙vps、荷兰vps、德国vps/不限制流量/支持自定义ISO

profitserver怎么样?profitserver是一家成立于2003的主机商家,是ITC控股的一个部门,主要经营的产品域名、SSL证书、虚拟主机、VPS和独立服务器,机房有俄罗斯、新加坡、荷兰、美国、保加利亚,VPS采用的是KVM虚拟架构,硬盘采用纯SSD,而且最大的优势是不限制流量,大公司运营,机器比较稳定,数据中心众多。此次ProfitServer正在对德国VPS(法兰克福)、西班牙v...

singleton为你推荐
svn服务器搭建如何在本机搭建SVN服务器视频压缩算法关于视频压缩的原理?华为总裁女儿为啥姓孟孟姜女为什么不姓孟?seo优化技术什么是SEO优化,seo优化有什么用?12种颜色12种颜色的英语怎么写,用中文怎么读网络电话永久免费打有没有永久免费打电话的网络电话啊?asp大马问:ASP是什么?ASP根据什么制作木马的?ASP木马和大马有什么区别?云计划什么是云查杀,云计算和云计划的关系?审计平台什么叫数据库审计系统?腾讯贴吧QQ应该有贴吧的吧?那怎样进QQ贴吧?在(=@__@=)哪里?
个人虚拟主机 成都主机租用 com域名价格 net主机 堪萨斯服务器 sub-process 美国php主机 架设服务器 什么是刀片服务器 共享主机 爱奇艺vip免费领取 香港亚马逊 丽萨 英国伦敦 杭州电信宽带优惠 免备案cdn加速 免费主页空间 免备案jsp空间 googlevoice 塔式服务器 更多