当前位置:常识百科馆>职场理财>职场就业>

java代码如何实现单例模式及例子

职场就业 阅读(2.84W)

单例模式是java软件系统中应用最多的一种设计模式。

操作方法

(01)打开eclipse,新建一个java项目,在src目录下新建包test,然后新建类Singletonpackage test;public class Singleton {}

java代码如何实现单例模式及例子

(02)实现例模式的第一种形式:懒汉式,这是日常开发中用的最多的一种模式。这种模式在方法上加上synchronized关键字,避免了实例的重复创建。package test;public class Singleton {private static Singleton instance=null;public static synchronized Singleton getInstance(){if(instance==null){instance=new Singleton();}return instance;}private Singleton(){}}

java代码如何实现单例模式及例子 第2张

(03)实现例模式的第二种形式:饿汉式,这种模式用内部类实现,写法比较简单。package test;public class Singleton {private static final Singleton instance = new Singleton();private Singleton()//这里提供了一个供外部访问本class的静态方法,可以直接访问public static Singleton getInstance(){return instance;}}

java代码如何实现单例模式及例子 第3张

(04)实现例模式的第二种形式:双重锁式。这种模式把synchronized关键字移到了代码块内,比懒汉式更适合在高并发应用中使用,效率性能更高。package test;public class Singleton {private static volatile Singleton instance=null;private Singleton()public static  Singleton getInstance(){if(instance==null){synchronized(s){if(instance==null){instance=new Singleton();}}}return instance;}}

java代码如何实现单例模式及例子 第4张

(05)单例模式的测试如下,先添加一个公共方法public void doSomething(){tln("singleton is doing something");}

java代码如何实现单例模式及例子 第5张

(06)单例模式的调用非常简单,只需要调用类名+方法名即可。public static void main(String args[]){nstance()mething();}

java代码如何实现单例模式及例子 第6张

特别提示

根据系统的需求选择适合你的系统代码