Java 枚举实现单例
来源:互联网 发布:mactype mac字体 编辑:程序博客网 时间:2024/05/01 18:22
众所周知的单例模式有懒汉和饿汉两种实现方式,懒汉模式存在线程安全的问题,同步,还有需要了解并规避java内存模型的“无序写”的问题,饿汉模式存在资源浪费的问题,当然可以使用内部类创建实例曲线救国,但不管懒汉模式还是饿汉模式,都存在序列化反序列化的问题,还有就是反射存在的情况下,私有的构造就会暴露出来,这时的封装就被破坏,无法限制对象的数量了。枚举实现的单例模式是目前来说最好的解决方案,能解决以上问题,并且代码非常简洁。以下就是枚举实现的一个简单的单例。
public enum Person {
singleton();
private int age;
private String name;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
private Person() {
}
public static void main(String[] args) {
Person.singleton.setAge(12);
System.out.println(Person.singleton.getAge());
}
}
0 0
- Java 枚举实现单例
- Java枚举实现单例模式
- java单例,枚举实现方式
- Java 利用枚举实现单例模式
- java中枚举实现单例模式
- Java 利用枚举实现单例模式
- Java枚举实现单例模式
- Java枚举实现单例模式
- Java 利用枚举实现单例模式
- Java 利用枚举实现单例模式
- Java枚举使用以及枚举实现单例模式
- Java枚举enum以及应用:枚举实现单例模式
- Java枚举enum以及应用:枚举实现单例模式
- 枚举实现单例
- Java 枚举单例
- Java枚举单例
- java中用枚举类实现单例模式
- 为什么java中用枚举实现单例模式会更好
- IncrediBuild工具使用及设置
- 快递查询应用实例
- .net中连接Oracle 的两种方式:OracleClient,OleDb
- ClippingNode 实现类似子弹打穿纸片效果
- HDU 4709 三循环暴力
- Java 枚举实现单例
- IncrediBuild联合编译的使用
- 构建高性能服务(一)ConcurrentSkipListMap和链表构建高性能Java Memcached
- 【HDU 1019】Least Common Multiple —— LCM
- SVG图像动画鉴赏
- 给没有毕业的同学
- Jquery中的offset()和position()方法详解
- uiscrollview 放大/缩小后 contentSize被改变
- 二分匹配_HDU_2119