singletonJava单例模式怎么用?

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

编程题:写一个Singleton出来。

Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。

一般Singleton模式通常有几种种形式: 第一种形式:定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。

lassSingleton{ privateSingleton(){} //注意这是private只供内部调用 privatestaticSingletoninstance=newSingleton(); //这里提供了一个供外部访问本class的静态方法,可以直接访问 publicstaticSingletongetInstance(){ returninstance; } } 第二种形式: lassSingleton{ privatestaticSingletoninstance=null; publicstaticsynchronizedSingletongetInstance(){ //这个方法比上面有所改进,不用每次都进行生成对象,只是第一次 //使用时生成实例,提高了效率! if(instance==null) instance=newSingleton(); returninstance;} } 其他形式: 定义一个类,它的构造函数为private的,所有方法为static的。

一般认为第一种形式要更加安全些 Hashtable和HashMap Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Mapinterface的一个实现。

HashMap允许将null作为一个entry的key或者value,而Hashtable不允许 还有就是,HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。

因为contains方法容易让人引起误解。

最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。

Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。

关于JAVA中的singleton模式

package test; public class Singleton { private Singleton s; private Singleton() { } public static Singleton getSigleton() { if(s==null)s=new Singleton(); return s; } } 这就是一个单例模式,我想应该不用注释了,原理就是这个类的构造方法private了,所有在外边不能调用,也就不能new Singleton();得到实例,那么 想得到实例就得调用它的静态方法getSigleton();即Singleton.getSigleton();就会返回一个Singleton的实例,注意此方法中的语句,即如果你是第一次调用这个方法那么它会给你new一个实例,以后再调用得到的都是这个实例,也就是说从始至终就只有一个Singleton的实例,这就是单例模式。

Java单例模式怎么用?

public class Singleton { private static Singleton sin=new Singleton(); private Singleton(){ } public static Singleton getInstance(){ return sin; } } 比如说Class、Runtime类都是单列设计模式。

。

PacificRack(19.9美元/年)内存1Gbps带vps1GB洛杉矶QN机房,七月特价优惠

pacificrack怎么样?pacificrack商家发布了七月最新优惠VPS云服务器计划方案,推出新款优惠便宜VPS云服务器采用的是国产魔方管理系统,也就是PR-M系列,全系基于KVM虚拟架构,这次支持Windows server 2003、2008R2、2012R2、2016、2019、Windows 7、Windows 10以及Linux等操作系统,最低配置为1核心2G内存1Gbps带宽1...

MechanicWeb免费DirectAdmin/异地备份

MechanicWeb怎么样?MechanicWeb好不好?MechanicWeb成立于2008年,目前在美国洛杉矶、凤凰城、达拉斯、迈阿密、北卡、纽约、英国、卢森堡、德国、加拿大、新加坡有11个数据中心,主营全托管型虚拟主机、VPS主机、半专用服务器和独立服务器业务。MechanicWeb只做高端的托管vps,这次MechanicWeb上新Xeon W-1290P处理器套餐,基准3.7GHz最高...

星梦云60元夏日促销,四川100G高防4H4G10M,西南高防月付特价

星梦云怎么样?星梦云好不好,资质齐全,IDC/ISP均有,从星梦云这边租的服务器均可以备案,属于一手资源,高防机柜、大带宽、高防IP业务,一手整C IP段,四川电信,星梦云专注四川高防服务器,成都服务器,雅安服务器 。官方网站:点击访问星梦云官网活动方案:1、成都电信年中活动机(封锁UDP,不可解封):机房CPU内存硬盘带宽IP防护流量原价活动价开通方式成都电信优化线路4vCPU4G40G+50...

singleton为你推荐
avb窦性心律二度二型AVB需要吗做心脏助博器股价图简单易懂的股票图外加说明请求超时请求超时是怎么回事宝应中学宝应县有哪些高中网络审计网络安全审计系统的背景vga接口定义vga线有几种扫图问个非常白痴的问题撒,扫图是什么意思?微信网页版怎么看朋友圈电脑版的微信怎么看朋友圈网络备份win7中如何备份网络设置点心os移动OMS系统跟点心OS系统,他两不是都基于Android改造出来的么?差别在哪?
济南域名注册 中文国际域名 德国vps 购买域名和空间 免费网站申请 福建天翼加速 40g硬盘 圣诞促销 建立邮箱 183是联通还是移动 国外免费asp空间 电信主机 银盘服务 联通网站 免费的域名 日本代理ip cdn网站加速 阿里云邮箱个人版 789电视剧网 百度新闻源申请 更多