易截截图软件、单文件、免安装、纯绿色、仅160KB

java单例模式的两种形式


两种形式:
1, 饿汉式单例类
public class Singleton {
  private Singleton(){}
  //在自己内部定义自己一个实例,是不是很奇怪?
  //注意这是private 只供内部调用
  private static Singleton instance = new Singleton();
  //这里提供了一个供外部访问本class的静态方法,可以直接访问  
  public static Singleton getInstance() {
    return instance;   
   }
}
2. 懒汉式单例类
public class Singleton {
  private static Singleton instance = null;
  public static synchronized Singleton getInstance() {
  //这个方法比上面有所改进,不用每次都进行生成对象,只是第一次   
 
  //使用时生成实例,提高了效率!
  if (instance==null)
    instance=new Singleton();
  return instance;   }
}
第二中形式是lazy initialization,也就是说第一次调用时初始Singleton,以后就不用再生成了。
注意到lazy initialization形式中的synchronized,这个synchronized很重要,如果没有synchronized,那么使用getInstance()是有可能得到多个Singleton实例。
一般来说第一种比较安全。建议都用第一种。


相关文档:

用python, c#, java写的文件拷贝

     前一段时间试着用这三种语言简单的写了关于文件拷贝的程序,发现c#和python的api惊人的相似,对于文件的操作这两种语言非常的方便。都没有加异常的处理
C#源代码:
        public static void CopyFile(string source, string destination)
  & ......

Java 正则表达式 对于 乘号"*" 的处理

 String fm = "46+5*(120-37)";
  String[] item = fm.split("[+-/*/()]");
  for(String it: item){
   System.out.print(it+"  ");
  }
正则表达式中 转义:  *  ==>   /* ......

java 学习

   网上看到一些刚开始学或是还没有开始学java的同学,经常问:“这个java,我该怎么学,学什么呢?”,我想给他们说一下。可是我的能力有限。所以我也不好对某个同学具体的说什么,可是,今天在网上看到一张图片。感觉对大家提出的这个问题有个很好的解释说明。
       ......

利用PowerShell脚本方便Java学习

利用PowerShell脚本方便Java学习
 
         我是一名Java菜鸟,在这个入门阶段里免不了要反复的使用javac xx.java和java xx来运行和测试自己的程序。烦了……,但也得憋着。
    今天心情不好,换了个Win7(换个系统,换个心情)。当我依旧按 ......

java中垃圾回收算法

1)垃圾回收的两个关键要素:
发现无用对象。
回收无用对象的内存空间。
 
2)6种垃圾回收算法:
 
引用计数法,tracing 算法,compacting算法,copying 算法,generation算法,adaptive算法。
 
3)detail:
引用计数法(Reference Counting Collector)
引用计数法是唯一没有使用根集的垃圾回收的 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号