饿汉模式和饱汉模式

来源:互联网 发布:php面向对象面向过程 编辑:程序博客网 时间:2024/04/20 07:28
单例中饱汉/懒汉和饿汉的本质区别在于以下几点:

  1、饿汉式是线程安全的,在类创建的同时就已经创建好一个静态的对象供系统使用,以后不在改变。懒汉式如果在创建实例对象时不加上synchronized则会导致对对象的访问不是线程安全的。

  2、从实现方式来讲他们最大的区别就是饱汉/懒汉式是延时加载,他是在需要的时候才创建对象,而饿汉式在虚拟机启动的时候就会创建,饿汉式无需关注多线程问题、写法简单明了、能用则用。
/**饿汉模式*/public class SingleTon1 {public SingleTon1(){}private static  SingleTon1 instance=new SingleTon1();public static SingleTon1 getnInstance(){return instance;}}
/** 饱汉模式/懒汉模式 */public class SingleTon2 {public SingleTon2(){}private static  SingleTon2 instance = null;public static synchronized SingleTon2 getnInstance() {if (instance == null)instance = new SingleTon2();return instance;}}
 
阅读全文
0 0
原创粉丝点击