博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Single
阅读量:5095 次
发布时间:2019-06-13

本文共 1171 字,大约阅读时间需要 3 分钟。

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算法都大概一样,所以性能不会有很大的差异。

转载于:https://www.cnblogs.com/sunyuhuan/p/7217486.html

你可能感兴趣的文章
如何区分el表达试与jquery
查看>>
string 线程安全
查看>>
css三类选择器 用法 引用
查看>>
android studio jni调用入门
查看>>
Python第一部分--Python简介+第一个程序+Python2和Python3介绍 001-016
查看>>
CSS Hack
查看>>
Django REST framework(官方说明文档翻译)(1快速开始 )
查看>>
JavaScript字符转Unicode,顺便说句:GitHub的Oh no页面很亮
查看>>
MSSQL 手工入侵网站方法
查看>>
memcache 加载(对象)所遇到的问题。资源
查看>>
linux命令df中df -h和df -i
查看>>
201771010130 王志成《面向对象程序设计(java)》第十二周学习总结
查看>>
百词斩
查看>>
Unity3D 开发问题记录笔记
查看>>
PHPMailer不能发送邮件
查看>>
Linux 下的图形库介绍
查看>>
第九周编程总结
查看>>
007-li标签CSS水平居中垂直居中
查看>>
Python -- 基础
查看>>
第五次作业
查看>>