本系列主要记录设计模式的意图是什么,它要解决一个什么问题,什么时候可以使用它;它是如何解决的,掌握它的结构图,记住它的关键代码;能够想到至少两个它的应用实例,一个生活中的,一个软件中的;这个模式的优缺点是什么,其有哪些使用场景,在使用时要注意什么。
1.单例模式
意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点
主要解决:一个全局使用的类频繁的创建于销毁
什么时候使用:当你想控制实例数目,节省系统资源的时候
如何解决 :判断系统是否是否已经有这个单例,如果有则返回,如果没有,则创建
结构图:
数据库里加一次,用单例先缓存起来 3.创建的一个对象需要消耗的资源过多,比如I/O与数据库的连接等
注意事项:getInstance()方法中需要使用同步锁synchronized (Singleton.class)防止多线程同时进入造成instance被多次实例化