千家信息网

java设计模式的懒汉式怎么实现

发表于:2025-11-15 作者:千家信息网编辑
千家信息网最后更新 2025年11月15日,这篇文章主要介绍"java设计模式的懒汉式怎么实现"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"java设计模式的懒汉式怎么实现"文章能帮助大家解决问题。//
千家信息网最后更新 2025年11月15日java设计模式的懒汉式怎么实现

这篇文章主要介绍"java设计模式的懒汉式怎么实现"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"java设计模式的懒汉式怎么实现"文章能帮助大家解决问题。

//懒汉式private static readonly object obj = new object();        private static DbConnection dbConnection;        private DbConnection()        {        }        public static DbConnection getDbConnection()        {            if (dbConnection == null)            {                lock (obj)                {                    if (dbConnection == null)                    {                        dbConnection = new DbConnection();                    }                }            }                        return dbConnection;        }        public void openConnection()        {            Console.WriteLine("开启数据库连接");        }        //饿汉式        private static readonly DbConnection dbConnection = new DbConnection();        private DbConnection()        { }        public static DbConnection getDbConnection()        {            return dbConnection;        }        public void openConnection()        {            Console.WriteLine("开启数据库连接");        }                //懒汉式            //DbConnection dbConnection= DbConnection.getDbConnection();            //DbConnection dbConnection2 = DbConnection.getDbConnection();            //dbConnection.openConnection();            //if (dbConnection == dbConnection2)            //{            //    Console.WriteLine("相同的");            //}            //Console.ReadLine();            //饿汉式            DbConnection dbConnection = DbConnection.getDbConnection();            DbConnection dbConnection2 = DbConnection.getDbConnection();            if (dbConnection == dbConnection2)            {                Console.WriteLine("相同的");            }            Console.ReadLine();

总结:保证类只有一个实例(自己完成自己的实例化),并且 提供一个全局访问点。
懒汉式:在第一次被引用的时候实例化,不提前占资源,但需要双重锁保证线程安全。
饿汉式:被加载时实例化,需要提前占用资源。

与静态方法区别:
1、静态方法里面的对象使用过后会释放,频繁使用释放也耗资源;单例由于有一个实例化,会一直存在。
2、单例可以继承类,实现接口,方法可以被重载。
3、单例比静态方法更灵活。

关于"java设计模式的懒汉式怎么实现"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。

0