快速业务通道

Java语言单态创立性模式介绍 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-22
t;全程"变量, 一个变量必须属于某一个类。而在复杂的程序当中,一个静态变量的 初始化发生在哪里,常常是一个不易确定的问题。当然,使用变量并没有什么错误,就好选择使用Fortran 语言而非Java语言编程并不是一种对错的问题一样。

2、这样做不会出错,但是效率不好。在原来的源代码中,synchronized行为只在第一次调用 此方法起作用,以后的调用均不会遇到。而在这里,任何凋用都会遇到synchronized的限制,这无异于 人为制造一个不必要的独木桥,十分愚蠢。

3、这样做一定会出问题。在第一次调用getInstance()时可能有多个线程几乎同时到达, 只有一个线程能到达内层检 查之内,其它的线程会在synchronized()语句处等待。这样当第一线程完成实例化之后,等待在 synchronized()语句处的其它线程会逐一获准进入synchronized()之后的语句。如果那里没有第二 次检查,它们就会逐一试图进行实例化,而这是错的。

4、这样不会出问题,但是效率不好,十分愚蠢。道理与第一题类似。

5、package com.javapatterns.singleton.demos; public class RegSingletonTest { public static void main(String[] args) {   file://(1) Test eager   System.out.println( EagerSingleton.getInstance() );   file://(2) Test reg   System.out.println(   RegSingleton.getInstance(     "com.javapatterns.singleton.demos.RegSingleton").about() ) ;    System.out.println( RegSingleton.getInstance(null).about() ) ;   System.out.println(    RegSingleton.getInstance(     "com.javapatterns.singleton.demos.RegSingletonChild").about() ) ;   System.out.println( RegSingletonChild.getInstance().about()) ;   } }

代码清单11. 几种单态类的使用方法。

6、见上题答案。

7、变量m_keptObjects还可选择HashMap,这样更省资源。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号