ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java单例设计模式

2022-05-09 15:32:00  阅读:193  来源: 互联网

标签:Singleton Java getInstance private static 单例 设计模式 public


单例设计模式:保证一个类仅有一个示例,并提供一个访问它的全局访问点。

  1、构造方法私有化

  2、声明一个本地对象

  3、给外部提供一个实例方法获取对象实例

 

两种实现方式:

  1、饿汉式:在类被加载后,对象被创捷,程序结束后被释放

  2、懒汉式:在第一次调用 getInstance  方法时,对象被创建,程序结束后释放

 

在项目中为什么要使用单例模式,单例模式有什么好处?

  目的是为了尽可能减少频繁创建对象带来的内存消耗,提高效率。

  工具类会频繁被调用,在设计工具类(工具类只有功能方法,没有属性)的时候,常使用单例模式。

 

//饿汉式,占用内存时间长,效率高

public class Singleton{
   
   private Singleon(){

   }
  private static Singleton s = new Singleton();
  public Singleton getInstance(){
     return s;  
  }

 public static void main(String args[]){
Singleton s1 = Singleton.getInstance();
Singleton s2 = Singleton.getInstance(); // s1==s2 ,单例模式只能获取一个实例对象
} }

 

//懒汉式,占用内存时间短,效率低(懒加载,延迟加载)
//在多线程访问时,存在安全问题
public class Singleton{ private Singleton(){ } private static Singleton s; public Singleton getInstance(){ if(s==null){ s = new Singleton(); } return s; } }

 

标签:Singleton,Java,getInstance,private,static,单例,设计模式,public
来源: https://www.cnblogs.com/javafufeng/p/16249378.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有