JAVA单例模式

        作为对象的创建模式,单例模式确保系统运行时,在内存空间中某个类的实例只有一个,由该类自行实例化并向整个系统提供这个实例。

        单例模式实现:

        (1)采用static共享对象实例。static关键字修饰的变量,在内存中只有一份。

        (2)采用private构造函数防止外界new操作

        方案一:加载类的时候执行实例的初始化。优点:避免多线程同步的问题;缺点是如果该类中还有很多别的公共静态方法,则程序中可能只用到了该类的其他静态方法,并没有用过该实例,存在内存浪费。       

​​​​​​​

方案二:懒加载,获得该实例对象的时候,再执行实例的初始化。静态内部类被首次加载时,会执行一次静态成员属性的初始化。

注:

java实例初始化顺序:

* 父类静态属性&静态代码块、子类静态属性&子类静态代码块、

* 父类非静态属性&非静态代码块、父类构造函数、

* 子类非静态属性&非静态代码块、子类构造函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值