枚举型单例真的全局唯一吗?

来源:4-3 安全发布对象-四种方法-2

慕少914456

2020-05-17

老师,我在学习的过程中有个疑问,想请教一下您
在SingletonExample7这个类中,您使用内嵌枚举类的单例模式来实现,但是感觉还是无法保证SingletonExample7实例的全局单例喔,我觉得所有的属性和方法都是写在外层的,只要通过反射获取到SingletonExample7实例就可以操控所有的属性和方法了。下面是我写的小demo,请老师多多指教~
单例类
测试类
测试结果通过反射还是可以创建不同的对象,请问老师这个该怎么理解呢?

写回答

1回答

Jimin

2020-05-17

你好,枚举那个可以进一步将类变成枚举,直接将对象变成枚举的一项。你刚才的例子有点问题,如果通过反射,绝大部分单例都是可以绕过的,即使反射不行,还可以通过使用不同的classloader及使用不同的容器来初始化,这些都非常规使用,我们提到的都是使用通用的类方法或构造函数来进行操作

2
0

Java高并发编程,构建并发知识体系,提升面试成功率

构建完整并发与高并发知识体系,倍增高薪面试成功率!

3923 学习 · 832 问题

查看课程