zl程序教程

您现在的位置是:首页 >  前端

当前栏目

<html>

HTML gt lt
2023-09-11 14:20:44 时间

题目:设计一个类。我们仅仅能生成该类的一个实例


一般解法


/**
 *题目:设计一个类。我们仅仅能生成该类的一个实例
 *时间:2015年8月24日10:19:39
 *文件:Singleton.java
 *作者:cutter_point
 */
package bishi.Offer50.y2015.m08.d24;

public class Singleton
{
	private static Singleton sl = null;
	
	private Singleton()
	{
	}
	
	public static Singleton Instance()
	{
		if(sl == null)
			sl = new Singleton();
		
		return sl;
	}

	public static void main(String[] args)
	{

	}

}

考虑多线程


/**
 *题目:设计一个类。我们仅仅能生成该类的一个实例,当运用到多线程的时候
 *时间:2015年8月24日10:19:39
 *文件:Singleton.java
 *作者:cutter_point
 */
package bishi.Offer50.y2015.m08.d24;

public class Singleton2
{
	private static Singleton2 s2 = null;
	
	private Singleton2()
	{
	}
	
	public static synchronized Singleton2 Instance()	//加锁耗费资源
	{
		if(s2 == null)
			s2 = new Singleton2();
		
		return s2;
	}

	public static void main(String[] args)
	{
		// TODO Auto-generated method stub

	}

}

优化多线程


/**
 *题目:设计一个类,我们仅仅能生成该类的一个实例,当运用到多线程的时候,优化代码
 *时间:2015年8月24日10:53:43
 *文件:Singleton3.java
 *作者:cutter_point
 */
package bishi.Offer50.y2015.m08.d24;

public class Singleton3
{
	private static Singleton3 s3 = null;
	
	private Singleton3()
	{
	}
	
	public static Singleton3 Instance()
	{
		if(s3 == null)
		{
			//上锁
			synchronized(Singleton3.class)
			{
				s3 = new Singleton3();
			}//synchronized
		}
		
		return s3;
	}
}

简单可行的方法实现

/**
 *题目:设计一个类,我们仅仅能生成该类的一个实例,当运用到多线程的时候,优化代码,利用静态创建
 *时间:2015年8月24日10:53:43
 *文件:Singleton4.java
 *作者:cutter_point
 */
package bishi.Offer50.y2015.m08.d24;

public class Singleton4
{
	private static Singleton4  s4 = new Singleton4();
	
	private Singleton4(){}
	
	public static Singleton4 Instance()
	{
		return s4;
	}
}

按需生成单例。不须要的时候不创建

/**
 *题目:设计一个类,我们仅仅能生成该类的一个实例,当运用到多线程的时候。优化代码,利用静态创建,可是静态创建的话。我们有时候不须要也会创建这个实例
 *		我们按需创建实例的话。我们能够借助一个内部类创建
 *时间:2015年8月24日10:53:43
 *文件:Singleton4.java
 *作者:cutter_point
 */
package bishi.Offer50.y2015.m08.d24;

public class Singleton5
{
	private Singleton5()
	{
	}
	private static class Nested
	{
		public static Singleton5 S5 = new Singleton5();
	}
	
	public static Singleton5 Instance()
	{
		//得到单例
		return Nested.S5;
	}
}








版权声明:本文为博主原创文章,未经博主同意不得转载。 举报
  • 本文已收录于下面专栏:

相关文章推荐

笔试面试集锦

「我正在一点一点做.整理以下的笔试面试题,欢迎读者朋友们跟我一起做。你能够把你的答案或代码直接评论在本文之下,也能够通过私信或邮件发给我,感谢诸位。同一时候。以下全部不论什么题目所给的点评里的答案,尤其是所给的外部链接若有不论什么问题。欢迎在本文评论下留言指正。谢谢。答题除了让你感受到思考的乐趣以外,还有奖哦,请君自看。<span style="font-size: 12px;"
  • bcyy
  • bcyy
  • 2012-11-20 11:13
  • 428

笔试中的Singleton单例模式

引子   “请写一个Singleton。

”面试官微笑着和我说。   “这可真简单。”我心里想着,并在白板上写下了以下的Singleton实现:   class Single...

九月十月百度,迅雷,华为。阿里巴巴最新校招笔试面试三十题(10.18)

九月十月百度,迅雷。华为,阿里巴巴,最新校招笔试面试三十题 <h3 style="margin: 0px; padding: 0px; color:

单例模式(某公司校园招聘笔试题目)

单例(singleton)模式, 顾名思义。也就是说类仅仅有一个实例。在计划生育非常普遍的今天,我们非常easy理解单例模式:首先推断这个家庭是否生了一个孩子。假设没有生,则同意这个家庭生一个。假设已经生了一个...

某个人写的找工作笔试经验,记录一下

题目挺简单 对于下一届找工作的师弟师妹,我给大家一个建议,就是要下手早些。尽早的多看一些笔试面试的题目经验等等。“程序猿面试宝典”我认为真的是很很好的一本书,找工作的话。提前好好看看这个是很有帮助的。 废话不多说了。找工作期间记下了不少的笔试面试题目,如今拿出来给大家分享一下。

希望能对大家有帮助。 1. zx zx是我開始笔试面试的第一家单位。

笔试通知我是没有收到的。大早晨我就和同学一起跑到北科去霸王笔。工作人员给我的印象是非常nice的,非常有大公司的风范。我们霸笔成功。 笔试: 笔试题目是综合性的,涉及好多方面,比如软件project、信号、c 、c++、网络等等。

我是刚刚

2012 九月十月百度人搜。阿里巴巴,腾讯华为笔试面试八十题(第331-410题)

转自:http://blog.csdn.net/v_july_v/article/details/7974418 作者:July 出自:结构之法算法之道blog ...

九月十月百度,迅雷,华为,阿里巴巴最新校招笔试面试三十题(10.18)

九月十月百度,迅雷。华为,阿里巴巴,最新校招笔试面试三十题 <h3 style="margin: 0px; padding: 0px; color:

2013九月十月百度人搜,阿里巴巴,腾讯华为小米搜狗笔试面试题

九月十月百度人搜。阿里巴巴,腾讯华为小米搜狗笔试面试八十题 引言     自发表上一篇文章至今(其实。上篇文章更新了近3个月之久)。blog已经停了3个多月,而在那之...

笔试里 单例模式的陷阱

遇到了一个有意思的事情:任选一种语言实现单例模式。 由于之前看过设计模式,这道题目感觉非常easy,可是后来想了下,应该不可能考的这么简单啊,分析了下出题者的意图。可能不是考察代码本身。而是考察你的严谨性。

  单例模式最先想到的就是懒汉式或者饿汉式,简单易写:   1.懒汉式: /* * 懒汉式 */ public class Singleton_simple { private Singleton_simple() {//1.构

2012 九月十月百度人搜,阿里巴巴。腾讯华为笔试面试八十题(第331-410题)

九月十月百度人搜。阿里巴巴。腾讯华为小米搜狗笔试面试八十题 9月11日, 京东: 谈谈你对面向对象编程的认识 8月20日,金山面试,题目例如以下:     数据库1中存放着a类数据,数...
  • 微博
    微信
    QQ
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多仅仅同意输入30个字)