参考资料:百度百科单列模式
3.如何写一个标准的Java单例模式一般Singleton模式通常有两种形式:第一种形式:也是常用的形式 。
publicclassSingleton{=null;privateSingleton(){//dosomething}//这个方法比下面的有所改进,不用每次都进行生成对象,只是第一次使用时生成实例,提高了效率(){if(instance==null){instance=newSingleton();}returninstance;}}第二种形式:publicclassSingleton{//在自己内部定义自己的一个实例,只供内部调用=newSingleton();privateSingleton(){//dosomething}//这里提供了一个供外部访问本class的静态方法,可以直接访问(){returninstance;}} 。
4.如何用Java实现单例模式单例模式:就是一个类仅创建一个对象;
public class Singleton {
private static volatile Singleton singleton = null;
private Singleton(){}// 构造方法
public static Singleton getSingleton(){// 单例模式
if(singleton == null){
synchronized (Singleton.class){
if(singleton == null){
singleton = new Singleton();
}
}
}
return singleton;
}
}
5.在java中,singleton是什么啊Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在 。
一般Singleton模式通常有几种种形式:
第一种形式: 定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法 。
public class Singleton {
private Singleton(){}
//在自己内部定义自己一个实例,是不是很奇怪?
//注意这是private 只供内部调用
private static Singleton instance = new Singleton();
//这里提供了一个供外部访问本class的静态方法,可以直接访问
public static Singleton getInstance() {
return instance;
}
}
第二种形式:
public class Singleton {
private static Singleton instance = null;
public static synchronized Singleton getInstance() {
//这个方法比上面有所改进,不用每次都进行生成对象,只是第一次
//使用时生成实例,提高了效率!
if (instance==null)
instance=new Singleton();
return instance; }
}
其他形式:
定义一个类,它的构造函数为private的,所有方法为static的 。
一般认为第一种形式要更加安全些
6.java单例模式当一个class被new也就是实例化的时候,调用构造方法的同时也会实例化成员变量,你这里定义的Singleton s=new Singleton()相当于定义了一个名为s的Singleton类型的参数,初始值为new Singleton(); 所以肯定会执行的 。正确的singleton模式其中之一:
class Singleton {
private static Singleton s;
private Singleton(){ }
public static Singleton getInstance()
{
if(s==null) s=new Singleton();
return s;
}
}
7.JAVA单例模式的几种实现方法JAVA 单例模式的几种实现方法1.饿汉式单例类 package pattern.singleton;// 饿汉式单例类.在类初始化时,已经自行实例化 public class Singleton1 {// 私有的默认构造子 private Singleton1() {}// 已经自行实例化 private static final Singleton1 single= new Singleton1();// 静态工厂方法 public static Singleton1 getInstance() { return single; } }2.懒汉式单例类 package pattern.singleton;// 懒汉式单例类.在第一次调用的时候实例化 public class Singleton2 {// 私有的默认构造子 private Singleton2() {}// 注意,这里没有 final private static Singleton2 single;// 只实例化一次 static { single= new Singleton2(); }// 静态工厂方法 public synchronized static Singleton2 getInstance() { if(single== null) { single= new Singleton2(); } return single; } } 在上面给出懒汉式单例类实现里对静态工厂方法使用了同步化,以处理多线程环境 。
- 夜间模式是什么意思 夜间模式到底有什么用
- 璞玉蕴华光正常模式 璞玉蕴华光攻略
- 关于刷机中的快速启动模式和恢复模式
- 解除安全模式 解除安全模式短信发不出去
- 苹果手机突然没声音了怎么回事显示耳机模式
- 起承转合 起承转合结构模式
- 苹果手机微信暗黑模式怎么设置 苹果手机微信暗黑模式怎么设置不了
- 11b only 11bonly模式好吗
- 鸣人九尾 鸣人九尾模式
- 空调睡眠模式是什么意思 空调睡眠模式是什么意思1234
