最近在看传智播客多线程部分线程间共享的时候看到了一个单体的使用,使之前在使用单体的时候存在的疑问豁然开朗。
public class SingleClass{
private static SingleClass instance = null;
//对于有些程序在下边生成实例的方法中添加同步关键字synchronized
//添加该关键字是因为如果在初次调用getInstance()方法生成实例的时候,如果存
//在多个线程调用,则可能同时生成多个实例,虽说最后使用的时候,使用的实例还
//是同一个,但是在内存中会存在两个实例
public static getInstance(){
if(instance == null){
instance = new SingleClass();
}
return instance;
}
}
public class SingleClass{
private static SingleClass instance = null;
//对于有些程序在下边生成实例的方法中添加同步关键字synchronized
//添加该关键字是因为如果在初次调用getInstance()方法生成实例的时候,如果存
//在多个线程调用,则可能同时生成多个实例,虽说最后使用的时候,使用的实例还
//是同一个,但是在内存中会存在两个实例
public static getInstance(){
if(instance == null){
instance = new SingleClass();
}
return instance;
}
}