大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
目录
单例设计模式
所谓单例设计模式,就是采取一定的方法在整个软件系统中,对某个类只能存在一个对象实例
1、单例类
只能有一个实例
。2、单例类
必须自己创建自己的唯一实例。
3、单例类
必须给所有其他对象提供这一实例。
饿汉式
饿汉式:在程序启动或单例模式类被加载的时候,单例模式实例就已经被创建。
上例子!
package com.happy.demo;
public class SingletonTest{
public static void main(String[] args){
happy h1 = happy.getInstance();
happy h2 = happy.getInstance();
System.out.println(h1 == h2);//true
}
}
//this is 饿汉式~
class happy{
//1.私有化类的构造器
private happy(){
}
//2.内部创建类的对象
//3.要求此对象也必须声明为静态的
private static happy instance = new happy();
//4.提供公共的静态的方法,返回类的对象
public static happy getInstance(){
return instance;
}
}
懒汉式
懒汉式:当程序第一次访问单例模式实例时才进行创建。
废话不多说,上代码!
package com.happy.demo;
public class SingletonTest{
public static void main(String[] args){
nice h1 = nice.getInstance();
nice h2 = nice.getInstance();
System.out.println(h1 == h2);//true
}
}
//this is 懒汉式~
class nice{
//1.私有化类的构造器
private nice(){
}
//2.声明当前类对象,没有初始化
//3.要求此对象也必须声明为static的
private static nice instance = null;
//4.声明public,static的放回当前类对象的方法
public static nice getInstance(){
if(instance == null){
instance = new nice();
}
return instance;
}
}
饿汉式vs懒汉式
区分饿汉式和懒汉式水
饿汉式:
坏处:对象加载时间过长。
好处:饿汉式是线程安全的懒汉式:好处:延迟对象的创建。
坏处:线程不安全—>到多线程内容时,再修改
注意:如果一个对象使用频率不高,占用内存还特别大,明显就不合适用饿汉式了,这时就需要一种懒加载的思想,当程序需要这个实例的时候才去创建对象,就如同一个人懒的饿到不行了才去吃东西。
结语
一起加油冲冲冲~
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/160033.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...