作者回复: 很赞!这是一种懒加载模式的枚举实现。
作者回复: 对的,我们之前序列化优化这一讲中的问答题就是与枚举实现单例相关,《Effective Java》作者也是强烈推荐枚举方式实现单例。
作者回复: 也可以使用枚举实现懒汉模式,可以根据本讲中的使用内部类方式实现懒加载。
作者回复: 对的,枚举是一种语法糖,在Java编译后,枚举类中的枚举会被声明为static,接下来就跟我们文中讲的一样了。
作者回复: Spring中的bean的单例虽然是一种单例效果,但实现方式是通过容器缓存实现,严格来说是一种享元模式。
作者回复: 虽然有点绕,还是值得表扬的。我们还是鼓励简单易懂的编程风格。
作者回复: Spring中bean的单例就是使用容器来实现的,便于管理。
作者回复: 对的
作者回复: 这个没法调用的哦,静态方法无法调用非静态成员变量。
作者回复: 互相学习,共同进步
作者回复: 可以忽略,这个属性在这里只是用作重排序的问题
作者回复: 可以通过反序列化对象白名单来控制运行反序列哪些对象,这种方式需要重写resolveClass 方法,具体参考09讲:
极客时间版权所有: https://time.geekbang.org/column/article/99774
作者回复: 不行,这里指的是加载时是线程安全的。
作者回复: 对的,已纠正
作者回复: 这里的volatile 是用来防止重排序
作者回复: 即时编译并非运行多次代码才会触发,java将字节码转为机器码时就是即时编译