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类都是单列设计模式。



TTcloud:日本独立服务器促销活动,价格$70/月起,季付送10Mbps带宽

ttcloud怎么样?ttcloud是一家海外服务器厂商,运营服务器已经有10年时间,公司注册地址在香港地区,业务范围包括服务器托管,机柜托管,独立服务器等在内的多种服务。我们后台工单支持英文和中文服务。TTcloud最近推出了新上架的日本独立服务器促销活动,价格 $70/月起,季付送10Mbps带宽。也可以跟进客户的需求进行各种DIY定制。点击进入:ttcloud官方网站地址TTcloud拥有自...

HostKvm香港VPS七折:$5.95/月KVM-2GB内存/40GB硬盘/500GB月流量

HostKvm是一家成立于2013年的国外主机服务商,主要提供VPS主机,基于KVM架构,可选数据中心包括日本、新加坡、韩国、美国、俄罗斯、中国香港等多个地区机房,均为国内直连或优化线路,延迟较低,适合建站或者远程办公等。商家本月针对香港国际机房提供特别7折优惠码,其他机房全场8折,优惠后2G内存香港VPS每月5.95美元起,支持使用PayPal或者支付宝付款。下面以香港国际(HKGlobal)为...

麻花云-香港CN2云服务器,安徽BGP线路,安徽移动大带宽!全系6折!

一、麻花云官网点击直达麻花云官方网站二、活动方案优惠码:专属优惠码:F1B07B 享受85折优惠。点击访问活动链接最新活动 :五一狂欢 惠战到底 香港云主机 1.9折起香港特价体验云主机CN2 云服务器最新上线KVM架构,,默认40G SSD,+10G自带一个IPv4,免费10Gbps防御,CPU内存带宽价格购买1核1G1M19元首月链接2核2G 2M92元/3个月链接2核4G3M112元/3个月...

singleton为你推荐
rmi如何rmi运行java程序?webproxy什么是PAC网址y码男生衣服M L XL分别是什么码?视频技术视频制作有前途吗awvawv转换器哪里下?维基百科中文网站科普网页最大的谁有网络备份win7中如何备份网络设置pmp格式在电脑上如何播放PMP格式电影?第三方支付系统第三方支付平台有哪些病毒分析网站电脑中病毒了,应该去哪个网站?
域名商 zpanel permitrootlogin 轻博 福建天翼加速 权嘉云 anylink 架设服务器 php空间购买 免费cdn 安徽双线服务器 根服务器 闪讯官网 网购分享 新加坡空间 大化网 杭州电信 好看的空间 电信主机托管 hdsky 更多