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

作者:如沐春风 | 创建时间: 2023-08-11
单例模式是java软件系统中应用最多的一种设计模式。...
java代码如何实现单例模式及例子

操作方法

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

实现例模式的第一种形式:懒汉式,这是日常开发中用的最多的一种模式。这种模式在方法上加上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(){ } }

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

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

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

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

温馨提示

根据系统的需求选择适合你的系统代码
点击展开全文

更多推荐