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、第二种形式:? 参考资料:单例模式

Gcore(gcorelabs)俄罗斯海参崴VPS简单测试

有一段时间没有分享Gcore(gcorelabs)的信息了,这是一家成立于2011年的国外主机商,总部位于卢森堡,主要提供VPS主机和独立服务器租用等,数据中心包括俄罗斯、美国、日本、韩国、新加坡、荷兰、中国(香港)等多个国家和地区的十几个机房,商家针对不同系列的产品分为不同管理系统,比如VPS(Hosting)、Cloud等都是独立的用户中心体系,部落分享的主要是商家的Hosting(Virtu...

数脉科技香港物理机 E3 16G 10M 华为线路165元 阿里云线路 188元 Cera线路 157元

2021年9月中秋特惠优惠促销来源:数脉科技 编辑:数脉科技编辑部 发布时间:2021-09-11 03:31尊敬的新老客户:9月优惠促销信息如下,10Mbps、 30Mbps、 50Mbps、100Mbps香港优质或BGPN2、阿里云线路、华为云线路,满足多种项目需求!支持测试。全部线路首月五折起。数脉官网 https://my.shuhost.com/香港特价数脉阿里云华为云 10MbpsCN...

美国云服务器 1核 1G 100M 10G防御 39元/月 物语云计算

物语云计算(MonogatariCloud)是一家成立于2016年的老牌国人商家,主营国内游戏高防独服业务,拥有多家机房资源,产品质量过硬,颇有一定口碑。本次带来的是美国圣何塞 Equinix 机房的高性能I9-10980XE大带宽VPS,去程CN2GIA回程AS9929,美国原生IP,支持解锁奈飞等应用,支持免费安装Windows系统。值得注意的是,物语云采用的虚拟化技术为Hyper-V,资源全...

singleton为你推荐
xda论坛XDA论坛是中文网站吗?winhttp什么是WinHTTP企业资源管理系统企业内部管理系统有哪些orphanremoval大家知道orphan这个单词除了孤儿还有什么意思吗?视频技术视频监控技术的定义及特点自定义表情QQ自定义表情awvAWV的转换器 要免费的 看好是AWV不是AMVjs后退javascript怎么禁用浏览器后退按钮印度尼西亚国家代码手机上的国家代码是什么遗传算法实例如何用C语言实现遗传算法的实际应用?
域名查询软件 天津服务器租赁 hostigation 息壤主机 英文简历模板word 回程路由 info域名 hnyd 网站挂马检测工具 150邮箱 上海域名 百兆独享 idc是什么 t云 吉林铁通 主机返佣 稳定空间 建站行业 广州服务器数据恢复 六维空间登陆首页 更多