请问各位大侠们,java中单子设计模式在应用中有什么好处啊!
展开全部
楼主,以下绝对原创打字也累你觉的有道理的话就把我采为正确答案吧!!!
单例模式一次只有同一个对象产生,在实际运用中非常有用,可以节约很多资源,jvm虚拟机的内存有限的,虽然它自动GC清除不用的对象,但是随意创造可以复用的对象在设计上是一种很大的缺陷,有时候会造成内存泄漏.
比如Hibernate的session一次应用只要产生一个session就够用了,所以我一般会写个单例模式,设一个单例类,类变量private static Session session=null;
写一个方法getSingleSession(){if(session!=null){创建一个;}else(返回类变量;)return session;}这样
每次取session时如果已经有session对象的话就直接得到,如果没有就创建一个session=new SessionFactroy.openSession();因为是static所以
这个session是类变量,只要一建立就一直在那,而且避免重复创建,你要调用的时候直接得到这个单例,同理,spring的ApplicationContext对象一般一个运行期也只创建一次
单例模式一次只有同一个对象产生,在实际运用中非常有用,可以节约很多资源,jvm虚拟机的内存有限的,虽然它自动GC清除不用的对象,但是随意创造可以复用的对象在设计上是一种很大的缺陷,有时候会造成内存泄漏.
比如Hibernate的session一次应用只要产生一个session就够用了,所以我一般会写个单例模式,设一个单例类,类变量private static Session session=null;
写一个方法getSingleSession(){if(session!=null){创建一个;}else(返回类变量;)return session;}这样
每次取session时如果已经有session对象的话就直接得到,如果没有就创建一个session=new SessionFactroy.openSession();因为是static所以
这个session是类变量,只要一建立就一直在那,而且避免重复创建,你要调用的时候直接得到这个单例,同理,spring的ApplicationContext对象一般一个运行期也只创建一次
展开全部
比如一个连接数据库的系统,使用连接池,那么连接池管理器一定是个单例类。该系统中的所有数据库连接都要通过这唯一的一个连接池管理器对象产生,如果有多个连接池管理器存在,那么连接池就失去了意义。节省资源
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
就是好。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
上面的仁兄为了10分至于吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询