单例模式的优缺点
单例模式的优点:
由于单例模式在内存中只有一个实例,减少了内存开支,特别是一个对象需要频繁的创建、销毁时,而且创建和销毁时性能又无法优化,单例模式的优势就非常明显
由于单例模式只生成一个实例...,所以减少了系统的性能开销,当一个对象的产生需要比较多的资源时,如读取配置、产生其他依赖对象时,则可以通过在应用启动时直接产生一个单例对象,然后用永久驻留内存的方式来解决(在Java EE中采用单例模式时需要注意...单例模式对测试是不利的.在并行开发环境中,如果单例模式没有完成,是不能进行测试的,没有接口也不能使用mock的方式虚拟一个对象
单例模式与单一职责原则有冲突....单例模式的注意事项
1.高并发情况下,注意线程同步问题
这是一个线程不安全的单例
?
该单例模式在低并发的情况下可能不会出现问题,若并发量增加就可能在内存中出现多个实例,破坏了最初的预期....2.对象被复制的情况
在Java中,对象默认是不可以被复制的,若实现了Cloneable接口,并实现了clone方法,则可以直接通过对象复制方式创建一个新对象,对象复制是不用调用类的构造函数的,因此即使是私有的构造函数