zoukankan      html  css  js  c++  java
  • Single

    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算法都大概一样,所以性能不会有很大的差异。
    总结很重要哦 方法得当,坚持会有奇迹哦
  • 相关阅读:
    VS2015 C#取消最大化按钮,设置鼠标不可调整窗体大小
    C++调用C#编写的DLL【转】
    C#封装成DLL,并在C#中调用
    ubuntu永久修改主机名
    Anaconda3的安装和汉化
    windows下面安装Python和pip教程
    pip install bs4安装失败
    Sublime text 3中文汉化教程
    Vmware安装ubuntu详细教程
    Sublime text3修改tab键为缩进为四个空格
  • 原文地址:https://www.cnblogs.com/sunyuhuan/p/7217486.html
Copyright © 2011-2022 走看看