ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
### 单例设计模式之饿汉 ### 饿汉⽅式:提前创建好对象 优点:实现简单,没有多线程同步问题 缺点:不管有没使⽤,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)