8. JavaSE-单例设计模式

设计模式:对问题行之有效的解决方式,其实他是一种思想

单例设计模式:可以保证一个类在内存中的对象唯一性

 

必须对于多个程序使用同一个配置信息对象时,就需要保证该对象的唯一性

 

如何保证对象的唯一性?

1. 不允许其他程序使用new新建对象

2. 在该类创建一个本类实例

3. 对外提供一个方法让其他程序可以获取该对象

 

步骤:

1. 私有化该类构造函数(不能在其他类new该类对象)

2. 通过new在本类中创建一个实例

3. 定义一个公有方法,将创建的对象返回


单例设计模式-饿汉式:

    class Single 

    {

        private Single(){}

        private static Single s = new Single();

        public static Single getInstance()

        {

            return s;

        }

        public voidtestSingle()

        {

            System.out.println("This is test single instance mode...");

        }

    }

    class SingleDemo

    {

        public static void main(String[] args)

        {

            Single ss = Single.getInstance();

            ss.testSingle();

        }

    }

 

单例设计模式-懒汉式(单例设计模式的延迟加载模式)

    class Single 

    {

        private Single(){}

        private static Single s = null;

        public static Single getInstance()

        {

            if (s == null)

            {

                 s = new Single();

            }

            return s;

        }

        public voidtestSingle()

        {

            System.out.println("This is test single instance mode...");

        }

    }

    class SingleDemo

    {

         public static void main(String[] args) 

        {

            Single ss = Single.getInstance();

            ss.testSingle();

        }

    }

注意:实际开发中,常用的是饿汉式,因为懒汉式存在安全隐患,当使用多线程并发程序的时候,可能保证不了对象的唯一性

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章