解析单例模式(1)

来源:互联网 发布:牌匾设计软件 编辑:程序博客网 时间:2024/06/10 17:36
  1.  什么是单例模式:保证一个类只有一个实例,并且对外提供一个全局访问点
  2. 单例模式意义:单例模式可以严格控制客户怎么访问以及何时访问。
  3. 单例模式的注意点:可以被继承,单例模式是有状态的
  4. 代码
    public class SingleTest {private static SingleTest instance;private SingleTest(){};//私有构造函数保证不能通过构造函数生成类对象public static SingleTest getInstance(){//静态方法获得单例实例,对外访问入口if(instance ==null){instance = new SingleTest();}return instance;}//测试public static void main(String[] args){SingleTest s1 = SingleTest.getInstance();SingleTest s2 = SingleTest.getInstance();System.out.print(s1==s2);}}

  5. 多线程访问单类时,需要加锁,保证一个进程在访问单例时,其它进程处于临界区,等待该进程释放资源
  6. 双重锁定,保证该类如果单例已经有实例则不加锁,减少无谓的加锁造成的资源浪费