设计模式(三)单例模式

单利模式
1.保证从系统启动到停止,全过程只会产生一个实例
2.当我们在应用中遇到功能性冲突的时候,需要用到单利模式




单利模式七种模式之一(最经典写法):
//懒汉式(静态内部类)
public class DanLi {
//	1.先申明一个静态内部类
//	private 私有的保证别人不能修改
//	static 保证全局唯一
	private static class LazyHolder{
		private static final DanLi INSTANCE=new DanLi();
	}
	
//	2.将默认构造方法私有化,保证无法被外部new出新对象
	private DanLi() {}
	
//	3.同样提供静态方法获取实例
//	final 确保别人不能覆盖
	public static final DanLi getInstance() {
//方法中的逻辑,被调用才执行,jvm才会为其分配内存
		return LazyHolder.INSTANCE;
	}
}




类装载到jvm:
1.从上到下(必须申明在前,使用在后)
2.先属性,后方法
3.先静态,后动态





//不管class有没有被实例化,static静态块总会在classLoader执行完后,加载完毕,jvm会分配内存
static{
//静态块中的内容,只能访问静态属性和静态方法
//只要是静态方法或者属性,直接可以用Class的名字就能点出来
JVM内存中的静态区,这一块的内容是公共的

}

猜你喜欢

转载自blog.csdn.net/q975583865/article/details/81030160