单利设计模式

单利设计模式 

     A:保证对象在内存中只有一个。

                B:如何保证?

                           **不能让其他类来创建对象。

                           **本类中要创建一个本类对象。

                           **对外提供公共的访问。

                  C:步骤 我们的类是Student

                           **private Student(){}

                           **Student s = new Student();

                           **public Student getInstance(){return s;} 

 

单利的两种方式:

    

第一种方式:饿汉式

         class Teacher{

                  //本类创建一个对象

                  private static Teacher t = new Teacher();

                  //为了保证其他类不能够创建对象

                  private Teacher(){}

                  //为了外界能够通过类名直接调用

                  public static Teacher getInstance(){

                           return t;

                  }

         }

         Teacher t1 = Teacher.getInstance();

         Teacher t2 = Teacher.getInstance();

 

第二种方式:懒汉式

         class Teacher{

                  //本类创建一个对象

                  private static Teacher t = null;

                  //为了保证其他类不能够创建对象

                  private Teacher(){}

                  //为了外界能够通过类名直接调用

                  public static Teacher getInstance(){

                           if(t==null){

                          Synchronized(Teacher.class){

                                             if(t==null){

                                     t = new Teacher();

                      }

               }

       }

                           return t;

                  }

         }

         Teacher t1 = Teacher.getInstance();

         Teacher t2 = Teacher.getInstance();

注意:开发一般用饿汉式。第二种在多线程的时候,会有安全隐患。

           面试一般考懒汉式(延迟加载)

工具类:构造私有,方法静态。直接使用类名调用,工具类一般没有访问数据,创建对象没啥意义。                                                       

 

 

 

转载于:https://www.cnblogs.com/wangxuekui/p/9404750.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/451802.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MVC表示层框架——Velocity技术

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 Velocity,名称字面翻译为:速度、速率、迅速,用在Web开发里,用过的人可能不多&#xff0c…

redis的配置文件

redis的配置文件 之前在实习的时候才开始接触redis,随着对redis的理解加深,才慢慢明白它的强大,也逐渐对他的配置有了一定的了解。下面就分享给大家,以便日后查看。 位置 redis的配置文件名为redis.conf在它的安装目录下。 参数说…

你的代码(软件)安全吗?【信息图】

2011年安全事件层出不穷,几乎可以称为“黑客年”。以前黑客通常是利用程序漏洞来造成破坏,令网站陷入尴尬的境地,但如今他们却是为了窃取数据、IP地址,或者通过在网站中植入木马将恶意软件安装到访客的电脑里,更有甚者…

20--两个数组的交集

文章目录1.问题描述2.代码详情1.问题描述 给定两个数组,编写一个函数来计算它们的交集。 示例 1: 输入:nums1 [1,2,2,1], nums2 [2,2] 输出:[2] 示例 2: 输入:nums1 [4,9,5], nums2 [9,4,9,8,4] 输…

MD5密码加密

using System; using System.Security.Cryptography; using System.Text; namespace DimoNetwork.Common.DEncrypt { public enum MD5ResultMode : byte { Strong 0, Weak 1 } /// /// 在应用程序中定义用于单向加密文本的方法 /// public class TextEncrypt { private TextE…

跳出IT运维怪圈 看南方报业如何主动出击

虽说世界上没有一劳永逸的事情,不过借助某些方案,IT运维倒可做到事半功倍。近日,南方报业传媒集团采用新华三智动远程运维服务解决方案,利用7*24级别安仔的桌面服务,实现IT运维智能化、自动化管理,有效保障…

ORA-01841: (完整) 年份值必须介于 -4713 和 +9999 之间, 且不为 0情况解决

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 报错&#xff1a;ORA-01841: (完整) 年份值必须介于 -4713 和 9999 之间, 且不为 0 2. 我的sql是&#xff1a; <!-- 查询 推荐下载…

网络传输与加密

谈到网络&#xff0c;就必然会涉及网络安全。但“安全”这个事情&#xff0c; 一下子就会让人联想到黑客&#xff0c;进而把“安全”这个事情无限放大为各种高大上、神秘莫测、不可知。这不是一个engineer应有的态度&#xff08;《一次艰难debug的反思》&#xff09;。 要讨论网…

21--最小栈

文章目录1.问题描述2. 代码详情1.问题描述 设计一个支持 push &#xff0c;pop &#xff0c;top 操作&#xff0c;并能在常数时间内检索到最小元素的栈。 push(x) —— 将元素 x 推入栈中。 pop() —— 删除栈顶的元素。 top() —— 获取栈顶元素。 getMin() —— 检索栈中的…

python读取excel

1 import xlrd2 book xlrd.open_workbook(app_student.xls)3 sheet book.sheet_by_index(0)4 # sheet2 book.sheet_by_name(shee1)5 # print(sheet.cell(0,0).value) #指定sheet页里面行和lie获取数据6 # print(sheet.cell(1,0).value) #指定sheet页里面行和lie获取数据7 # …

Expected MultipartHttpServletRequest: is a MultipartResolver configured方案。

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1.报错&#xff1a;Expected MultipartHttpServletRequest: is a MultipartResolver configured &#xff1f; 2.解决&#xff1a; a…

软件开发中需要专职的 QA 吗?

导读&#xff1a;相信很多软件开发企业都有专职 QA。然而&#xff0c;这些专职人员能否发挥其本身价值&#xff1f;我们是否需要专职的QA&#xff1f;针对这些问题&#xff0c;本文作者提出了他的看法。 以下为文章原文&#xff1a; 这个文章必然是有争议的&#xff0c;我在我的…

【洛谷P1288】取数游戏II

取数游戏II 题目链接 显然&#xff0c;由于一定有一个0&#xff0c;我们可以求出从初始点到0的链的长度 若有一条链长为奇数&#xff0c;则先手可以每次取完一条边上所有的数&#xff0c; 后手只能取另一条边的数&#xff0c;先手必胜&#xff1b; 反之若没有奇数链&#xff0c…

22--删除字符串中的所有相邻重复项

文章目录1. 题目要求2.代码详情1. 题目要求 给出由小写字母组成的字符串 S&#xff0c;重复项删除操作会选择两个相邻且相同的字母&#xff0c;并删除它们。 在 S 上反复执行重复项删除操作&#xff0c;直到无法继续删除。 在完成所有重复项删除操作后返回最终的字符串。答案保…

操作系统常考知识点总结(1)

1.什么是进程&#xff08;process&#xff09;和线程&#xff08;thread&#xff09;&#xff1f;有何区别&#xff1f; 1&#xff09;定义 进程是系统进行资源分配和调度的基本单位&#xff0c;线程是进程的一个实体&#xff0c;是cpu调度和分派的基本单位&#xff0c;是比进程…

jQuery上传插件Uploadify使用Demo、本地上传(ssm框架下)

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 效果&#xff1a; 1. jar包导入&#xff1a; <!-- 文件上传组件 --><dependency><groupId>commons-fileupload</g…

P4313 文理分科 网络流

其实也就卡了卡常&#xff0c;&#xff0c;&#xff0c; 先考虑没有same_art和same_science 。 起点用art的流量连向每个点&#xff0c;该点再用science的流量连向终点&#xff0c;断开哪边相当于少了哪边收益。 先全部收益加起来&#xff0c;再减去最小割即可。 那有same这些情…

23--有效的括号

文章目录1.题目详情2.代码详情1.题目详情 给定一个只包括 ‘(’&#xff0c;’)’&#xff0c;’{’&#xff0c;’}’&#xff0c;’[’&#xff0c;’]’ 的字符串&#xff0c;判断字符串是否有效。有效字符串需满足&#xff1a; 左括号必须用相同类型的右括号闭合。 左括号…