• 一、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;
    	}
    }
    

      

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

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

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

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

  • 相关阅读:
    文章标题
    PAT Basic Level 1006
    PAT Basic Level 1005
    PAT Basic Level 1004
    PAT Basic Level 1036
    PAT Basic Level 1002
    (算法)递归各习题总结反思 *基础
    uvaoj 101
    C语言(关于二级指针)
    普通算法(高效幂运算)
  • 原文地址:https://www.cnblogs.com/vpersie2008/p/12722230.html
Copyright © 2020-2023  润新知