欢迎使用CSDN-markdown编辑器

来源:互联网 发布:爱奇艺点击率换算法 编辑:程序博客网 时间:2024/06/03 22:54

单例模式(防止new 反射 clone 序列化破坏)

package com.tank.cn.singleton;import java.io.Serializable;public class Singleton implements Serializable{    private static Singleton instance = new Singleton();    private boolean isdoublecallStructorflag = false;    //防止反射破坏单例    private Singleton(){        if(!isdoublecallStructorflag){            isdoublecallStructorflag = !isdoublecallStructorflag;        }else{            try {                throw new Exception("不能通过反射创建单例!");            } catch (Exception e) {                e.printStackTrace();            }        }    }    public static Singleton getInstance(){        return instance;    }    //防止反序列化    private Singleton readResolve(){        return instance;    }    //防止colne    @Override    protected Object clone() throws CloneNotSupportedException {        return instance;    }}
1 0