java单例模式4种使用方式分享_Java教程-查字典教程网
java单例模式4种使用方式分享
java单例模式4种使用方式分享
发布时间:2016-12-28 来源:查字典编辑
摘要:1、JavaConcurrencyInPractice的List复制代码代码如下:publicclassSingleton{privates...

1、Java Concurrency In Practice的List

复制代码 代码如下:

public class Singleton {

private static class SingletonHolder {

public static Singleton resource = new Singleton();

}

public static Singleton getResource() {

return SingletonHolder.resource ;

}

private Singleton(){

}

}

2、effective Java

复制代码 代码如下:

public class Singleton {

public static final Singleton INSTANCE = new Singleton();

private Singleton(){}

public void method(){

//...

}

public static void main(String[] a){

//调用方法。

Singleton.INSTANCE.method();

}

}

3、利用枚举巧妙创建单实例

复制代码 代码如下:

/**

* 利用枚举巧妙创建单实例

*/

public enum Singleton {

INSTANCE;

public void method(){

//...

}

public static void main(String[] a){

//调用方法。

Singleton.INSTANCE.method();

}

}

4、双重锁

复制代码 代码如下:

public class Singleton {

private static volatile Singleton instance = null;

/**

* 防止其他人new对象

*/

private Singleton(){

System.out.println("init");

}

public static Singleton getInstance(){

if(instance == null){

synchronized(Singleton.class){

if(instance == null){

instance = new Singleton();

}

}

}

return instance;

}

}

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新Java学习
    热门Java学习
    编程开发子分类