JAVA枚举单例模式
来源:互联网 发布:网络搞笑猛虎下山图 编辑:程序博客网 时间:2024/05/14 15:04
关于单例模式的实现有很多种,网上也分析了如今实现单利模式最好用枚举,好处不外乎三点:
1.线程安全
2.不会因为序列化而产生新实例
3.防止反射攻击
关于第二点序列化问题,有一篇文章说枚举类自己实现了readResolve()方法,所以抗序列化,这个方法是当前类自己实现的(解决)
关于第一点线程安全,从反编译后的类源码中可以看出也是通过类加载机制保证的,应该是这样吧(解决)关于第三点反射攻击,我有自己试着反射攻击了以下,不过报错了...看了下方的反编译类源码,明白了,因为单例类的修饰是abstract的,所以没法实例化。
举个枚举的例子:
public enum MaYun {//定义一个枚举的元素,就代表MaYun的一个实例himself;private String anotherField;MaYun(){//MaYun诞生要做的事情//这个方法也可以去掉。将构造时候需要做的事情放在instance赋值的时候/**himself() = MaYun(){ *MaYun诞生要做的事情 *} */System.out.println("初始化");}public void splitAlipay(){System.out.println("Alipay是我的啦!");}}
public class Main {public static void main(String[] args){MaYun.himself.splitAlipay();}}
1 0
- JAVA枚举单例模式
- 枚举类型的单例模式(java)
- 枚举类型的单例模式(java)
- Java枚举实现单例模式
- 枚举类型的单例模式(java)
- 枚举类型的单例模式(java)
- 枚举类型的单例模式(java)
- 枚举类型的单例模式(java)
- 枚举类型的单例模式(java)
- 枚举类型的单例模式(java)
- 枚举类型的单例模式(java)
- Java 利用枚举实现单例模式
- java中枚举实现单例模式
- Java 利用枚举实现单例模式
- Java枚举实现单例模式
- Java枚举实现单例模式
- Java 利用枚举实现单例模式
- Java 利用枚举实现单例模式
- python输出txt 151017
- ubuntu14.04 安装WPS
- 黑马程序员_DOM方式对xml文档进行CRUD
- 文章标题
- 黑马程序员_JAVA反射学习
- JAVA枚举单例模式
- 内省
- vb
- Android中ListView之性能提高
- 黑马程序员_Socket网络通信
- 摘编
- 1. Redis集群研究和实践(基于redis 3.0.5)
- 将图片裁剪为圆边
- 黑马程序员_排序