1.Java中的单例模式主要通过构造方法私有化来实现单例,保证外部变量无法访问以及创建实例。
下面是一个java经典的单例模式:
publicclassSingleTon{//用一个静态变量来记录唯一的实例publicstaticSingleTon instance;privateSingleTon(){}publicSingleTongetInstance(){if(instance==null){ instance =newSingleTon(); }returninstance; }}
单例通常被用作管理共享的资源,例如数据源连接、线程池、缓存、注册表。
单例模式确保一个类只有一个实例,并提供全局访问点。
这种单例模式的写法,在单线程的情况下可以。但是多线程情况下不能保证只有一个实例。
可以通过在方法前加同步关键字synchronized,同步代码块来实现多线程情况下只有唯一实例