java 单例 无视反射和序列化攻击

package com.stuty.singleton;

public class NbSingleton {
    private NbSingleton() {
    }
    public static NbSingleton getInstance(){
        return ContainerHolder.HOLDER.instance;
    }
    private enum ContainerHolder{
        HOLDER;
        private NbSingleton instance;
        ContainerHolder(){
            instance=new NbSingleton();
        }
    }
    public static void main(String[] args) {
        NbSingleton instance = NbSingleton.getInstance();
        System.out.println(instance);
        NbSingleton instance2 = NbSingleton.getInstance();
        System.out.println(instance2);
    }
}

java 单例 无视反射和序列化攻击