面试问题 单例

单例

在程序中,一个单例类在程序中只能初始化一次,为了保证在使用中始终都是存在的,所以单例是在存储器的全局区域,在编译时分配内存,只要程序还在运行就会一直占用内存,在APP结束后由系统释放这部分内存内存。

优点

  • 在整个程序中只会实例化一次,所以在程序如果出了问题,可以快速的定位问题所在;
  • 由于在整个程序中只存在一个对象,节省了系统内存资源,提高了程序的运行效率;

缺点

  • 不能被继承,不能有子类;
  • 不易被重写或扩展;
  • 同时,由于单例对象只要程序在运行中就会一直占用系统内存,该对象在闲置时并不能销毁,在闲置时也消耗了系统内存资源;

面试问题 单例