/**
单例模式:
New User();
将一个类的构造方法设置为私有的,然后对外提供一个公共的可以调用该类的私有构造方法的接口方法
只允许被实例化出来一个对象,即在内存只存在一个类的对象,就叫做单例模式
应用场景:
如window系统的任务管理器、服务等窗口界面、聊天窗口等都采用了单例模式。
*/
// 1.饿汉模式 类加载的时候,就将该类的对象实例化出来,(占用资源) 用户使用时 直接调用。
public class HungryDemo{
//
private HungryDemo(){
}
//static 修饰的变量,就是全局变量,在内存只会存在一个改变量的对象。
private static HungryDemo hungry = new HungryDemo();
//提供对外部的访问方法。
public static HungryDemo getInstance(){
return hungry;
}
}
/* 一、懒汉模式:
懒汉式 的单例模式的实现:
就是在类加载的时候,没有实例化该类的对象,
特点:节省内存的空间 , 效率相对较低。
*/
public class StarvingDemo{
private StarvingDemo(){
}
// 先给他一个空值
private static StarvingDemo s=null;
public static StarvingDemo getInstance(){
if( null == s ){
s = new StarvingDemo();
}else{
System.out.println("内存中已经有过这个对象。");
}
return s;
}
}