zoukankan      html  css  js  c++  java
  • 懒汉式 and 饿汉式

    //懒汉式:存在线程安全问题
    public class TestSingleton2 {

    public static void main(String[] args) {
    Singleton s1 = Singleton.getInstance();
    Singleton s2 = Singleton.getInstance();
    System.out.println(s1==s2);

    }
    }
    //只能创建Singleton的单例模式
    class Singleton2{

    //1.私有化构造器,使得在类的外部不能够调用此构造器
    private Singleton2(){

    }
    //2.在类的内部创建一个类的实例
    private static Singleton2 instance = null;

    //3.私有化此对象,通过公共的方法来调用
    //4.此公共的方法,只能通过类来调用,因为设置为static的,同类的实例也必须为static声明的
    public static Singleton2 getInstance(){
    if(instance==null){
    instance = new Singleton2();
    }
    return instance;
    }
    }

    //饿汉式
    public class TestSingleton {

    public static void main(String[] args) {
    Singleton s1 = Singleton.getInstance();
    Singleton s2 = Singleton.getInstance();
    System.out.println(s1==s2);

    }
    }
    //只能创建Singleton的单例模式
    class Singleton{

    //1.私有化构造器,使得在类的外部不能够调用此构造器
    private Singleton(){

    }
    //2.在类的内部创建一个类的实例
    private static Singleton instance = new Singleton();

    //3.私有化此对象,通过公共的方法来调用
    //4.此公共的方法,只能通过类来调用,因为设置为static的,同类的实例也必须为static声明的
    public static Singleton getInstance(){
    return instance;
    }
    }

  • 相关阅读:
    cgal 的初步学习
    java 代理类
    java 静态内部类
    HDU-2063-过山车(最大匹配)
    HDU-1845-Jimmy's Assignment
    HDU-1528-Card Game Cheater(二分图匹配)
    HDU-1507-Uncle Tom's Inherited Land*
    HDU-1498-50years,50colors(最大匹配, 枚举)
    HDU-1281-棋盘游戏(最大匹配,枚举)
    HDU-1179-Ollivanders(二分图最大匹配)
  • 原文地址:https://www.cnblogs.com/2839888494xw/p/12900899.html
Copyright © 2011-2022 走看看