• 单例的正确姿势


    1.加锁延迟性的懒汉单例模式

      单例对象需要用volatile去修饰,可以保证对象是公用的;

      初始化单例对象的方法,需要在方法内部判空后进行加锁再次判断空 new 对象的方式。

      优点:

        确保单例使用时,不会出现未初始化成功的情况(多线程频发并发去拿单例对象可能会造成对象没有初始化成功但不为null的情况)

      缺点:

        这是线程不安全的初始化单例对象的方法,因为不安全所以需要给变量加上共享标识,并且在初始化时加锁再次判定

    2.静态内部类初始化外部类对象的单例模式

      通过静态内部类的静态方法,去new外部类的单例对象,可以真正意义上保证外部类单例对象正确存在,这也是线程安全的单例方法

  • 相关阅读:
    Linux网络编程--socket
    UDP学习总结
    TCP协议学习总结
    DNS协议总结
    DHCP协议总结
    ARP协议总结
    二层协议--MPLS协议总结
    二层协议--LLDP协议总结
    二层协议--LACP协议总结
    二层协议--STP协议总结
  • 原文地址:https://www.cnblogs.com/fengchuxiaodai/p/6933745.html
Copyright © 2020-2023  润新知