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;
    	}
    }
    

      

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

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

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

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

  • 相关阅读:
    关于加法的类型转换
    设备事件
    html5 事件
    【环境安装】快速安转TensorFlow
    JApiDocs API文档-超级好用
    Docker(超级详细)
    SpringBoot整合Swagger
    Jenkins +Docker+Git 实现自动部署
    Git commit规范
    java支付宝生成二维码
  • 原文地址:https://www.cnblogs.com/vpersie2008/p/12722230.html
Copyright © 2011-2022 走看看