### 单例设计模式之饿汉
###
饿汉⽅式:提前创建好对象
优点:实现简单,没有多线程同步问题
缺点:不管有没使⽤,instance对象⼀直占着这段内存
###
直接看下面的代码,里面的注释写的非常详细:
###
~~~
package com.goldnecis.设计模式.单例模式.design;
//1、单例模式(饿汉模式)
//饿汉⽅式:提前创建好对象
//优点:实现简单,没有多线程同步问题
//缺点:不管有没使⽤,instance对象⼀直占着这段内存
public class SingletonHungry {
//5、为什么要使用static?因为getInstance是static,至于getInstance为什么是static下面有讲解,在static方法当中只能使用静态成员变量和静态方法,除非你实例化一个对象!所以instance也是static
//5.1、但是值得思考的是这里不像在懒汉模式当中 这里直接new了一个SingletonHungry()实例化对象赋值给了instance,也就是说在jvm加载这个class类的时候就进行了实例化
private static SingletonHungry instance = new SingletonHungry();
//2、构造方法私有化 防止在外部进行实例化 只能在单例类的内部实例化返回
private SingletonHungry(){}
//4、供外界调用生成单例对象的方法 只能是静态方法 通过类名称来调用 因为构造方法当中禁止外界实例化单例类
public static SingletonHungry getInstance(){
return instance;
}
//3、单例对象的方法 可理解为处理各种业务逻辑 供外界调用
public void process(){
System.out.println("我是单例设计模式--饿汉");
}
}
~~~
###
java当中的Runtime就是单例饿汉模式:
###
![](https://img.kancloud.cn/dc/d9/dcd92af02c8dc0222587c4c62cf75ffc_731x630.png)
- 设计模式六大原则
- 常见的三大设计模式分类
- 创建型模式之单例模式
- 单例模式之懒汉
- 单例模式之饿汉
- 单例模式之如何选择懒汉饿汉
- 什么情况下使用单例模式
- 创建型模式之工厂模式
- 简单工厂模式
- 工厂方法模式
- 抽象工厂模式
- 创建型模式之原型模式
- 创建型模式之建造者模式
- 结构型模式之适配器模式
- 接口的适配器模式
- 类的适配器模式
- 结构型模式之桥接模式
- 结构型模式之桥接模式和适配器模式的区别
- 结构型模式之装饰器模式
- 结构型模式之代理模式
- 结构模式之外观模式
- 结构模式之享元模式
- 行为模式之策略模式
- 行为模式之模板模式
- 行为模式之观察者模式
- 行为模式之责任链模式
- 行为模式之命令模式
- 行为模式之迭代器模式
- 行为模式之备忘录模式
- 行为模式之状态模式