码迷,mamicode.com
首页 > 其他好文 > 详细

Single

时间:2017-07-21 15:56:04      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:shm   静态   编写   interface   div   ret   pac   hashmap   实现   

35.编程题: 编写一个Singleton类,并演示如何使用。
 
答:Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。一般Singleton模式通常有几种种形式:
第一种形式:定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。 
public class Singleton {
    private Singleton(){} //在自己内部定义自己一个实例,是不是很奇怪? 
//注意这是private 只供内部调用 
private static Singleton instance = new Singleton(); 
//这里提供了一个供外部访问本class的静态方法,可以直接访问 
public static Singleton getInstance() { return instance; } 
第二种形式: 
public class Singleton { 
private static Singleton instance = null;
public static synchronized Singleton getInstance(){ 
//这个方法比上面有所改进,不用每次都进行生成对象,只是第一次 
//使用时生成实例,提高了效率!
if(instance==null)
instance = new Singleton();
    return instance;
其他形式:定义一个类,它的构造函数为private的,所有方法为static的。一般认为第一种形式要更加安全些
第三十三 Hashtable和HashMap Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现 HashMap允许将null作为一个entry的key或者value,而Hashtable不允许 还有就是,HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为 contains方法容易让人引起误解。 最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时, 不需要自己为它的方法实现同步,而HashMap就必须为之提供外同步。 Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。

Single

标签:shm   静态   编写   interface   div   ret   pac   hashmap   实现   

原文地址:http://www.cnblogs.com/sunyuhuan/p/7217486.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!