1. 节省资源:在某些情况下,创建对象的开销比较大,如果每次都创建新的对象,会消耗大量的系统资源。使用单例模式可以在应用程序中只创建一个实例,避免了重复创建对象的开销,从而节省了系统资源。
2. 简化代码:如果某个类需要在应用程序中频繁使用,那么在每个地方都创建该类的实例会导致代码变得复杂。使用单例模式可以将类的实例化过程封装在一个单独的类中,并提供一个全局访问点,从而简化了代码结构。
3. 维护全局状态:在某些情况下,需要在应用程序中维护一个全局状态,例如日志对象或配置文件对象。使用单例模式可以保证该类只有一个实例,从而保证了全局状态的一致性。
4. 保证线程安全:在多线程环境下,如果多个线程同时访问一个对象,并且该对象没有进行任何线程安全的处理,那么可能会出现数据竞争和其他线程安全问题。使用单例模式可以保证该类只有一个实例,并且提供了一个全局访问点,从而避免了线程安全问题。
5. 使用单例主要保证:
● 懒加载
● 线程安全
● 可以使用反射破坏