java单例设计模式
java基础篇

单例设计模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
1、构造方法私有化。
2、一个本类对象。
3、给外部提供一个静态方法获取对象实例。
两种实现方法:
1、饿汉式。
2、懒汉式。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | public class aa{ public static void main(String[] args){ Ehan s = Ehan.getInstance(); s.print(); Lhan s1 = Lhan.getInstance(); s1.print(); } } class Ehan{ private static Ehan e = new Ehan(); //构造方法私有化 private Ehan(){} public static Ehan getInstance(){ return e; } public void print(){ System.out.println( "饿汉式 - 单例设计模式" ); } } class Lhan{ private static Lhan e = null ; private Lhan(){} public static Lhan getInstance(){ if (e== null ){ e = new Lhan(); } return e; } public void print(){ System.out.println( "懒汉式 - 单例设计模式" ); } } |
懒汉式多线程访问的时候,会有线程安全问题。