这篇文章主要介绍“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设计模式的懒汉式怎么实现”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注创新互联行业资讯频道,小编每天都会为大家更新不同的知识点。