单子模式修改。进来看看。 本帖最后由 java2000_net 于 2008-08-04 16:03:41 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 private static Resoure res=new Resoure();public static Resource getResource(){retrue res;}} 单态有两种形式:1.饿汉式:public class Singleton{ // 在自己内部定义一个自己的实例 // 注意,这个是private 只供内部调用 private static Singleton instance = new Singleton(); //将构造函数设为私有 private Singleton(){ } // 静态工厂方法,提供一个供外部使用得到对象的静态方法 public static Singleton getInstance(){ return instance; } }2. 懒汉式: public class Singleton{ private static Singleton instance = null; private Singleton(){ } public static synchronized Singleton getInstance (){ if(instance==null) instance = new Singleton(); return instance; }} public class Singleton { private static final Singleton instance = new Singleton(); private Singleton(){} public static Singleton getInstance(){ return instance; } }这是另一种单例模式。 第一种:public class Singleton { private volatile static final Singleton instance = null;private Singleton(){} public static Singleton getInstance(){ if(instance==null) { synchronized(Singleton.class) { if(instance==null) instance = new Singleton(); } } return instance;} } 第二种:public class Singleton { private Singleton(){} private static class SingletonInner { static Singleton instance = new Singleton();}public static Singleton getInstance(){ return SingletonInner.instance; } }两种方法各有优缺点,看楼主自己选择! public class Singleton { private static Singleton instance = null; private static Integer count = 0; private Singleton() { } public static Singleton getInstance() { if (instance == null) { synchronized (count) { if (count == 0) { instance = new Singleton(); count = 1; } else { return instance; } } } return instance; }}可以添加一个计数器变量count,这样只有第一个占用的才创建新实例,以后的线程都会返回这个实例了 java 浮点运算问题 如何查看编译器优化字符串的加操作? 同步锁问题 如何让JComboBox的右边的下拉按钮变得没有边框? Java源代码的折行规则 结合《java开发实战经典》第6、7、8章的内容,求解 java里的绝对值函数是什么,找了n久没找到啊?! 什么是ERP软件实施 用DOM解析XML的时候,name可以解析,value解析不出来?郁闷了,帮忙看下吧。。 java小白求助 关于内部类的问题 快绕晕了 一个jsp中的小问题;答完结贴;谢谢了 windows自带的任务计划运行java程序跟直接双击运行java程序不能达到同一效果
public static Resource getResource(){
retrue res;
}
}
1.饿汉式:
public class Singleton{
// 在自己内部定义一个自己的实例
// 注意,这个是private 只供内部调用
private static Singleton instance = new Singleton();
//将构造函数设为私有
private Singleton(){
}
// 静态工厂方法,提供一个供外部使用得到对象的静态方法
public static Singleton getInstance(){
return instance;
}
}
2. 懒汉式: public class Singleton{
private static Singleton instance = null;
private Singleton(){
}
public static synchronized Singleton getInstance (){
if(instance==null)
instance = new Singleton();
return instance;
}
}
private static final Singleton instance = new Singleton();
private Singleton(){}
public static Singleton getInstance(){
return instance;
}
}这是另一种单例模式。
public class Singleton { private volatile static final Singleton instance = null;private Singleton(){} public static Singleton getInstance(){
if(instance==null) {
synchronized(Singleton.class) {
if(instance==null)
instance = new Singleton();
}
}
return instance;
} } 第二种:
public class Singleton {
private Singleton(){} private static class SingletonInner {
static Singleton instance = new Singleton();
}
public static Singleton getInstance(){
return SingletonInner.instance;
} }两种方法各有优缺点,看楼主自己选择!
private static Singleton instance = null;
private static Integer count = 0;
private Singleton() { }
public static Singleton getInstance() {
if (instance == null) {
synchronized (count) {
if (count == 0) {
instance = new Singleton();
count = 1;
} else {
return instance;
}
}
}
return instance;
}
}可以添加一个计数器变量count,这样只有第一个占用的才创建新实例,以后的线程都会返回这个实例了