面试编程题:单例模式singleton

xiaoxiao2021-02-28  116

今天笔试有一个的singleton的实现,由于光有个概念,没写对。。。

看过之后实现较简单,自己动手做了下

单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例。即一个类只有一个对象实例

/*第一种生成singleton优点:简单,缺点:生成的资源浪费*/ class singleton1{ private singleton1(){}; private static singleton1 s1=new singleton1(); public static singleton1 getSingleton(){ return s1; } } /*第二种优点:不占用资源,缺点:不是完全的线程安全,如果在if语句执行过后转移到另一线程执行,在转移回来的时候将不进行判断,又生成一次*/ class singleton2{ private singleton2(){ } private static singleton2 s2=null; public static synchronized singleton2 getSingleton(){ if(s2==null) s2=new singleton2(); return s2; } } public class Singleton { public static void main(String []args){ singleton1 s1=singleton1.getSingleton(); singleton1 s2=singleton1.getSingleton(); System.out.println(s1==s2);//单例模式 } }
转载请注明原文地址: https://www.6miu.com/read-69498.html

最新回复(0)