码迷,mamicode.com
首页 > 编程语言 > 详细

8. JavaSE-单例设计模式

时间:2015-07-21 15:09:35      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:单例设计模式 java 对象唯一性

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

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

 

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

 

如何保证对象的唯一性?

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();

        }

    }

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

本文出自 “Keyman” 博客,请务必保留此出处http://keyman.blog.51cto.com/9807984/1676603

8. JavaSE-单例设计模式

标签:单例设计模式 java 对象唯一性

原文地址:http://keyman.blog.51cto.com/9807984/1676603

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!