如何正确写出单例模式,以及如何实现单例模式

发布于 科技 2024-03-01
6个回答
  1. 匿名用户2024-01-26

    懒惰和线程不安全。

    当被要求实现单例模式时,很多人的第一反应是写下以下**,包括教科书教我们做什么。

    public class singleton

    public static singleton getinstance ()

    public static singleton getsingleton ()

    public static singleton getinstance ()

    public static final singleton getinstance ()

    return ;

    这种写作仍然使用 JVM 本身的机制来确保线程安全; 由于 singletonholder 是私有的,除了 getinstance() 之外没有办法访问它,所以它是懒惰的; 同时读取实例时,没有同步,也没有性能缺陷; 也不依赖于 JDK 版本。

    Enumify 枚举

    用枚举编写单例非常容易! 这也是它最大的优势。 以下段落是声明枚举实例的通常做法。

    public enum easysingleton{

    instance;

    我们可以通过这样做来访问实例,这比调用 getinstance() 方法要简单得多。 默认情况下,创建枚举是线程安全的,因此无需担心双重检查锁定,并且还可以防止反序列化导致重新创建新对象。 但还是很少见到有人这样写,可能是因为不是很熟悉。

    总结。 一般来说,单例模式的编写有五种方式:lazy、hungry、double-check lock、static inner class 和 enumeration。 以上都是线程安全的实现,本文开头给出的第一种方法不是正确的编写方法。

  2. 匿名用户2024-01-25

    有五种方法可以实现单例模式:

    1.饥饿模式。 线程安全,可调用和推断,无延迟加载。

    2.懒惰模式。 线程安全、调用效率低下和加载延迟。

    3.双重检测锁定模式。 由于JVM的底层模型,偶尔会出现问题,所以不建议使用。

    4.静态内部类别。 线程安全、不可调用的效率和延迟加载。

    5. 枚举类。 线程安全、不可调用的效率、延迟加载以及防止调用的反射和反序列化。

  3. 匿名用户2024-01-24

    单例模式旨在避免重复生成同一实例生成的模式。

    实例占用大量内存空间,多个变量指向同一个对象,可以节省内存。

    单例模式的核心:

    施工方法的私有化。 私有化克隆方法。 私有化的静态变量。 面向公众的静态方法。 设置三个私人和一个公共的原因:

    私有化的建设方式只允许使用一套公共的方法,而建丹就是一个垂直实例。 Kezon 方法的私有化是为了避免使用 public 方法获取实例,然后通过克隆来克隆新对象。 私有化的静态变量用于存储类的实例化对象。

    公共静态方法用于存储实例化对象以供外部访问。

  4. 匿名用户2024-01-23

    什么单例模式,抽象的工厂模式什么的。 互联网上的信息非常完整。 慢慢地,重要的是 open() 和 close() 分别是对应的服务初始化和关闭。 activate()d 可以在 open() 中调用。

  5. 匿名用户2024-01-22

    所有应用程序都访问一个数据库,并且该数据库可以变成单一实例模式,其中只有一个数据库实例。

  6. 匿名用户2024-01-21

    单例模式是一种常见的软件设计模式。 从本质上讲,它只包含一个称为单例的特殊类。

    扩展: 1、单例模式的要点:一是某个类只能有一个实例; 二是它必须自己创建实例; 第三,它必须自己向整个系统提供这个实例。

    二、单例模式的优缺点:

    优点: 1. 实例控制 2.灵活性。

    缺点: 1. 开销 2.可能的发展混淆 3.对象生存期。

    3. 单例模式是最简单的设计模式形式之一。 此模式的目的是使类的对象成为系统中的唯一实例。 为此,您可以先在客户端上实例化它。

    因此,需要一种机制,该机制只允许生成对象类的唯一实例,并“阻止”对要生成的所有对象的访问。 使用工厂方法限制实例化过程。 此方法应该是静态的(类方法),因为让类的实例生成另一个唯一实例是没有意义的。

相关回答
11个回答2024-03-01

1、放置:将显微镜放置在机身前方左侧,并朝镜筒前方、镜臂后方方向放置; >>>More

8个回答2024-03-01

不要有问答聊天,或者简单的信息交流,要注意女孩的感受。

5个回答2024-03-01

每个人的申请报告都有不同的简历和不同的原因。 写一份好的简历可以给你单位负责人一个印象,方便你写一份工作评估书,合理充分的理由可以增加你成功的机会。 >>>More

11个回答2024-03-01

热红酒不好喝,一定要加冰喝。 红酒通常最好在 15 到 18 度的温度下饮用; 白葡萄酒最好在 5 到 8 度的温度下饮用。 >>>More

10个回答2024-03-01

卷发棒的正确使用方法:

1.如果想在头发湿润的时候使用卷发器,没有办法很好地卷发。 不仅如此,头发所需的一些必要的水分也会分散在一起,因此最好在使用卷发棒之前吹干头发。 >>>More