单利模式
1.保证从系统启动到停止,全过程只会产生一个实例
2.当我们在应用中遇到功能性冲突的时候,需要用到单利模式
单利模式七种模式之一(最经典写法):
类装载到jvm:
1.从上到下(必须申明在前,使用在后)
2.先属性,后方法
3.先静态,后动态
//不管class有没有被实例化,static静态块总会在classLoader执行完后,加载完毕,jvm会分配内存
static{
//静态块中的内容,只能访问静态属性和静态方法
//只要是静态方法或者属性,直接可以用Class的名字就能点出来
JVM内存中的静态区,这一块的内容是公共的
}
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内存中的静态区,这一块的内容是公共的
}