仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 909|回复: 12
打印 上一主题 下一主题

[学习教程] 来看Java形式计划之单例形式(四)

[复制链接]
蒙在股里 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:26:28 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
那这个对象有什么意义?现在很多用javabean的人就不能保证对象有完整的意义,不成熟的使用模式等导致代码疯狂增长,调试维护的时间要得多得多。在说性能之前,先说说你这个比较的来历。据说微软为了证明。net网页编程比java好。
不完整的单例类
甚么是不完整的单例类
估量有些读者见过上面如许的“不完整”的单例类。
代码清单10:“不完整”单例类
packagecom.javapatterns.singleton.demos;
publicclassLazySingleton
{
privatestaticLazySingleton
m_instance=null;
/**
*公然的机关子,外界能够间接实例化
*/
publicLazySingleton(){}
/**
*静态工场办法
*@return返还LazySingleton类的唯一实例
*/
synchronizedpublicstatic
LazySingletongetInstance()
{
if(m_instance==null)
{
m_instance=newLazySingleton();
}
returnm_instance;
}
}
下面的代码乍看起来是一个“懒汉”式单例类,细心一看,发明有一个公然的机关子。因为外界可使用机关子创立出恣意多个此类的实例,这违反了单例类只能有一个(或无限个)实例的特征,因而这个类不是完整的单例类。这类情形偶然会呈现,好比javax.swing.TimerQueue即是一例,关于这个类,请拜见《Java与形式》一书中的“察看者形式与Swing准时器”一章。
形成这类情形呈现的缘故原由有以下几种大概:
(1)初学者的毛病。很多初学者没有熟悉到单例类的机关子不克不及是公然的,因而犯下这个毛病。有些初学Java言语的学员乃至不晓得一个Java类的机关子能够不是公然的。在这类情形下,计划师大概会经由过程自我束缚,也就是说不往挪用机关子的举措,将这个不完整的单例类在利用中作为一个单例类利用。
在这类情形下,一个复杂的改正举措,就是将公然的机关子改成公有的机关子。
(2)现在出于思索不周,将一个类计划成为单例类,厥后发明此类应该有多于一个的实例。为了填补毛病,爽性将机关子改成公然的,以便在必要多于一个的实例时,能够随时挪用机关子创立新的实例。要改正这类情形较为坚苦,必需依据详细情形做出改善的决意。假如一个类在最后被计划成为单例类,但厥后发明实践上此类应该有无限多个实例,这时候候应该思索是不是将单例类改成多例类(Multiton)。
(3)计划师的Java常识很好,并且也晓得单例形式的准确利用办法,可是仍是成心利用这类不完整的单例形式,由于他意在利用一种“改进”的单例形式。这时候候,撤除共有的机关子不切合单例形式的请求以外,这个类必需是很好的单例形式。
<p>
主要缺点就是:速度比较慢,没有C和C++快
admin 该用户已被删除
13#
发表于 2015-3-24 20:04:31 | 只看该作者
是一种使网页(Web Page)产生生动活泼画面的语言
变相怪杰 该用户已被删除
12#
发表于 2015-3-17 19:08:28 | 只看该作者
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
冷月葬花魂 该用户已被删除
11#
发表于 2015-3-11 02:24:20 | 只看该作者
是一种使用者不需花费很多时间学习的语言
若天明 该用户已被删除
10#
发表于 2015-3-2 07:25:01 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
深爱那片海 该用户已被删除
9#
发表于 2015-2-11 08:50:43 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
愤怒的大鸟 该用户已被删除
8#
发表于 2015-2-10 10:09:30 | 只看该作者
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
7#
发表于 2015-2-9 23:51:02 | 只看该作者
是一种为 Internet发展的计算机语言
活着的死人 该用户已被删除
6#
发表于 2015-2-4 13:34:34 | 只看该作者
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
飘灵儿 该用户已被删除
5#
发表于 2015-2-4 04:02:40 | 只看该作者
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
谁可相欹 该用户已被删除
地板
发表于 2015-2-2 10:59:49 | 只看该作者
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
因胸联盟 该用户已被删除
板凳
发表于 2015-1-24 16:38:16 | 只看该作者
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
山那边是海 该用户已被删除
沙发
发表于 2015-1-21 06:38:17 | 只看该作者
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-16 20:51

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表