public class InnerClassSingleton implements Serializable { //无参构造函数 private InnerClassSingleton(){}; public static final InnerClassSingleton getInstance(){ return InnerClassHelper.INSTANCE; } //内部类 private static class InnerClassHelper{ private static final InnerClassSingleton INSTANCE = new Inn...
publicclassSingletonDemoInStaticInnerClass {//静态内部类privatestaticclassInnerClass{//初始化实例privatefinalstaticSingletonDemoInStaticInnerClass INSTANCE =newSingletonDemoInStaticInnerClass(); }//私有构造privateSingletonDemoInStaticInnerClass() {}//公关获取实例方法(线程安全,延迟加载)publicstaticSingletonDemo...
java声明一个对象变量(private static Singleton instance;)只是为该变量分配了内存空间,但没有实际创建对象。要创建对象实例,需要使用"new"关键字来调用类的构造方法。 publicclassSingleton{privatestaticSingleton instance;privateSingleton(){}publicstaticsynchronized SingletongetInstance(){if(instance ==null) { instan...
内部类加载的时候只实例化了一次instance */ private static class Singleton05inner { public static final Singleton04 INSTANCE = new Singleton04(); } public static Singleton04 getInstance() { return Singleton05inner.INSTANCE; }} 1. 枚举 枚举是线程安全的,而且任何情况下都是一个实例,枚举不能实例化,...
public static StaticInnerClassSingleton getInstance() { return SingletonHolder.INSTANCE; } } 单例模式的应用场景 单例模式常用于以下场景: 配置信息类,如数据库连接配置。 硬件操作类,如打印机、扫描仪等。 工具类,如日志记录器。 示例代码:配置信息单例 ...
2.4 静态内部类(Static Inner Class)单例模式 代码语言:javascript 复制 publicclassStaticInnerSingleton{privateStaticInnerSingleton(){// 私有构造方法}privatestaticclassSingletonHolder{privatestaticfinal StaticInnerSingleton instance=newStaticInnerSingleton();}publicstaticStaticInnerSingletongetInstance(){returnSingleton...
classSingletonHungary{privatestaticSingletonHungarysingletonHungary=newSingletonHungary();//将构造器设置为private禁止通过new进行实例化privateSingletonHungary(){}publicstaticSingletonHungarygetInstance(){returnsingletonHungary;}} 2. 懒汉模式 懒汉模式就是延迟加载,也叫懒加载。在程序需要用到的时候再创建实例,这样保证...
*/publicclassStaticInnerClassSingleton{//构造方法私有化privateStaticInnerClassSingleton(){}//内部类privatestaticclassHolderInnerClass{//需要提供单利对象的外部类作为静态属性加载的时候就初始化privatestaticStaticInnerClassSingleton instance=newStaticInnerClassSingleton();}//对外暴漏访问点publicstaticStaticInnerClas...
publicclassSingletonStaticInner{privatestaticclassInnerClass{privatestaticfinal SingletonStaticInnerINSTANCE=newSingletonStaticInner();}privateSingletonStaticInner(){}publicstaticSingletonStaticInnergetInstance(){returnInnerClass.INSTANCE;}} 6.枚举 利用Java枚举的特性来实现单例模式,天然地保证了线程安全和单例的唯一...
package org.singleton; public class InnerClassPrinter { // 私有构造函数,禁止使用new创建对象 private InnerClassPrinter(){} public static InnerClassPrinter getInstance(){ return InnerClassHolder.INSTANCE; } private static final class InnerClassHolder { private static final InnerClassPrinter INSTANCE = ne...