关闭

通过反编译字节码来理解 Java 枚举

枚举的声明很简单, 像 enum Gender { Male, Female }, 其余事情就是 Java 编译器帮我们干的了,所以 enum 也就是一块语法糖。有了枚举确实是很方便,避免了传统常量的无范围性。那么编译器到底在后面做了什么呢?以及理解了这个之后我们可以怎么去使用 Java 的枚举, 下面就从这个例子说起: public enum Gender {     Male,...
阅读(365) 评论(0)

EnumMap学习

前记: 翻看《Java 核心技术》第13章集合,看到EnumMap 一种键值属于枚举类型的映射表。想起前几天有个需求:文件上传如果出错,返回给用户的消息形如为                                                           错误的行号和原因:     2,4,6 商品id为必填项 ...
阅读(130) 评论(0)

JAVA 枚举单例模式及源码分析

关于单例模式的实现有很多种,网上也分析了如今实现单利模式最好用枚举,好处不外乎三点:1.线程安全 2.不会因为序列化而产生新实例 3.防止反射攻击 但是貌似没有一篇文章解释ENUM单例如何实现了上述三点,请高手解释一下这三点~ 关于第二点序列化问题,有一篇文章说枚举类自己实现了readResolve()方法,所以抗序列化,这个方法是当前类自己实现的(解决) 关于第一点线程安全,从...
阅读(95) 评论(0)

Java:单例模式的七种写法

转载出处:http://cantellow.javaeye.com/blog/838473 第一种(懒汉,线程不安全):  1 public class Singleton {    2     private static Singleton instance;    3     private Singleton (){}     4     public stati...
阅读(1036) 评论(0)

枚举类型的单例模式(java)

Inspired by Effective Java. Singleton模式是在编程实践中应用最广泛的几种设计模式之一。以前知道的,实现单例的方法有两种(下面的A、B)。刚刚在读《Effective Java的时候》学到一种新的更好的方法(E):单元素的枚举类型。同时通过网上资料也知道了其他两种方法(C、D)。最后一种在Java中从1.5版本开始支持,其他语言在验证后说明。 A.饿汉...
阅读(350) 评论(0)
    个人资料
    • 访问:6971491次
    • 积分:61219
    • 等级:
    • 排名:第34名
    • 原创:250篇
    • 转载:2617篇
    • 译文:3篇
    • 评论:661条
    文章分类
    最新评论