这篇文章主要介绍“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设计模式的懒汉式怎么实现”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。