单例模式中的饿汉式和懒汉式的区别?
来源:互联网 发布:淘宝号怎么养 编辑:程序博客网 时间:2024/05/21 09:29
饿汉式:
public class Singleton{
private static Singleton singleton = new Singleton();
懒汉式:
public class Singleton{
private static Singleton singleton = null;
public static synchronized Singleton getInstance(){
if(singleton==null){
singleton = new Singleton();
}
return singleton;
}
}
区别:饿汉式是线程安全的,在类创建的同时就已经创建好一个静态的对象供系统使用,以后不再改变
懒汉式优点是延时加载,是在需要的时候才创建对象。缺点是应该用同步。如果在创建实例对象时不加上synchronized则会导致对对象的访问不是线程安全的。
推荐使用第一种。
public class Singleton{
private static Singleton singleton = new Singleton();
private Singleton (){}
public Singleton getInstance();{
return singletion;
}
}懒汉式:
public class Singleton{
private static Singleton singleton = null;
public static synchronized Singleton getInstance(){
if(singleton==null){
singleton = new Singleton();
}
return singleton;
}
}
区别:饿汉式是线程安全的,在类创建的同时就已经创建好一个静态的对象供系统使用,以后不再改变
懒汉式优点是延时加载,是在需要的时候才创建对象。缺点是应该用同步。如果在创建实例对象时不加上synchronized则会导致对对象的访问不是线程安全的。
推荐使用第一种。
阅读全文
0 0
- 单例模式中的饿汉式和懒汉式的区别?
- 单例模式中,懒汉式和饿汉式的区别
- 单例模式中,懒汉式和饿汉式的区别
- java中的单例模式的饿汉式和懒汉式
- 单例模式中饿汉式和懒汉式的区别
- 单例设计模式(懒汉式和饿汉式区别)
- 单例模式中的饿汉式和懒汉式
- 单例模式中,饿汉式和懒汉式的区别?为什么推荐说 用饿汉模式?
- 【单例设计模式】懒汉式跟饿汉式的区别
- 单例模式中的懒汉模式和恶汉模式的区别
- 《转》单例模式中的懒汉模式和恶汉模式的区别
- Java设计模式中的单例模式的懒汉式和饿汉式
- 单例模式-饿汉式和懒汉式
- 单例模式(懒汉式和饿汉式)
- 单例模式(懒汉式和饿汉式)
- java单例模式,懒汉式和饿汉式的区别,双层锁式等
- android之单例模式:懒汉式和饿汉式的区别
- JAVA单例设计模式(饿汉式和懒汉式的区别)
- Ubuntu 开机出现 grub rescue> 终端模式修复方法
- 了解全宇宙最神秘的团体,只需要这九张图
- vs2010MFC框架下,点击按钮弹出窗口,在子窗口中输入值,将这个值向主窗口传递
- win8--L2TP教程
- 12.14题解
- 单例模式中的饿汉式和懒汉式的区别?
- python中defaultdict方法的使用
- 李彦宏、马化腾、雷军,程序员国服三强中谁的编程能力更胜一筹?
- 趣图 | 你和我得的病是一样的,不信你看!
- 创意 | 一款能让聋哑人送外卖的软件
- win10--PPTP教程
- 数据结构-排序基础代码
- 【linux】 su,su -,和sudo的区别
- Pycharm 激活(JetBrains IDEA 系列产品通用激活方法)持续收集~