zoukankan      html  css  js  c++  java
  • 一、Java笔记之-懒汉模式与饿汉模式

    • 一、饿汉模式,上来就先new对象,表示很饥渴:
    package com.jerry.java;
    
    public class Singleton1 {
    //1.先声明一个私有化构造器,防止直接创建该对象
    private Singleton1() {}
    
    //2.直接下把对象创建好,使用静态变量
    private static Singleton1 instance1 = new Singleton1();
    
    //3.提供公共的静态方法,返回类的对象
    public static Singleton1 getInstance1() {
    return instance1;
    }
    }
    

      

      

    • 二、懒汉模式,不着急用,我就不着急造对象:
    package com.jerry.java;
    
    //懒汉模式
    public class Singleton2 {
    	private  Singleton2() {}
    	
    	//先把对象放着
    	private static Singleton2 singleton2  = null;
    	
    	// 有需要的时候,再去创建
    	private static Singleton2 getInstance() {
    		if (singleton2 == null) {
    			return new Singleton2();
    		}
    		
    		return singleton2;
    	}
    }
    

      

    懒汉式与饿汉式的优缺点:

    懒汉式,线程不安全,因为存在多线程资源竞争问题。

    懒汉式,好处是延迟对象的创建。

    饿汉式,线程安全,因为静态对象在编译时只会创建一次。

  • 相关阅读:
    Maven下载依赖项的源代码(source code)和Javadoc
    Spring读写xml文件
    重建二叉树
    从尾到头打印链表
    替换空格
    洞穴逃生
    二维数组中的查找
    分苹果
    最小生成树算法prim and kruskal
    HTTP报文格式详解
  • 原文地址:https://www.cnblogs.com/vpersie2008/p/12722230.html
Copyright © 2011-2022 走看看