枚举模式,JVM保证这个方法绝对只调用一次是什么意思。

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

蒲科奇God

2018-08-28

老师您好,为什么多个线程同时调用枚举类的构造函数的时候会只调用一次?

写回答

1回答

蒲科奇God

提问者

2018-08-28

老师我明白了,枚举类的成员其实是static final的,其构造函数会在初始化时就执行,虚拟机会保证一个类的<clinit>() 方法在多线程环境中被正确的加锁、同步。所以,枚举实现在实例化时是线程安全。

1
1
Jimin
对的,是这个道理
2018-08-28
共1条回复

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

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

3923 学习 · 832 问题

查看课程