zoukankan      html  css  js  c++  java
  • 单例模式

    import org.junit.Test;
    /*单例的设计模式:
        1.解决的问题:使得一个类只能够创建一个对象*/
    public class TestSingleton {
        @Test
        public void testGetInstance() {
            Singleton s1 = Singleton.getInstance();
            Singleton s2 = Singleton.getInstance();
            System.out.println(s1.equals(s2));
        }
    }

    //只能创建Singleton的单个实例
    class Singleton {
        /*
         * 饿汉式
         */
        /*//1.私有化构造器,使得在类的外部不能够调用此构造器
        private Singleton(){
            
        }
        //2.在类的内部创建一个类的实例
        private static Singleton singleton = new Singleton();
        //3.私有化此对象,通过公共的方法来调用
        //4.此公共的方法,只能通过类来调用,因为设置为static的,同时类的实例也必须为static声明的
        public static Singleton getInstance() {
            return singleton;
        }*/
        
        /*
         *懒汉式 :可能存在线程安全问题
         */
        private Singleton(){
            
        }
        
        private static Singleton singleton=null;
        
        public static Singleton getInstance() {
            if(singleton==null){
                singleton = new Singleton();
            }
            return singleton;
        }
        //典型的单例模式例子:java.lang.Runtime类
    }

  • 相关阅读:
    当教育成为一种商品
    怎样设置Solaris上网
    对象转为xml输出到页面,中文乱码问题
    Flex 深拷贝与浅拷贝笔记
    使用access数据库需要注意的问题
    根据数据库表结构生成xsd文件
    SendKeys.Send()输入中文
    VB6迁移到VB.NET的一些问题汇总
    技术文章转移完毕
    说说重复发明轮子的事儿
  • 原文地址:https://www.cnblogs.com/bd195746/p/6255119.html
Copyright © 2011-2022 走看看