当前位置: 首页 > news >正文

长沙网站优化推广方案甘肃城乡建设厅网站

长沙网站优化推广方案,甘肃城乡建设厅网站,营销型网站建设文章,itme收录优美图片官网单例设计模式 一、设计模式二、单例模式1、饿汉式2、懒汉式3、区别 单例设计模式是静态方法和属性的经典使用。 一、设计模式 设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、以及解决问题的思考方式。设计模式就像是经典的棋谱,不同的棋局&…

单例设计模式

  • 一、设计模式
  • 二、单例模式
    • 1、饿汉式
    • 2、懒汉式
    • 3、区别

单例设计模式是静态方法和属性的经典使用。

一、设计模式

设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、以及解决问题的思考方式。设计模式就像是经典的棋谱,不同的棋局,我们用不同的棋谱,免去我们自己再思考和摸索。

二、单例模式

单例:单个的实例

  1. 所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法
  2. 单例模式有两种方式 :① 饿汉式 ② 懒汉式

1、饿汉式

步骤
(1) 构造器私有化 =>防止直接new对象
(2) 类的内部创建静态对象(new)
(3) 向外暴露一个静态的公共方法getlnstance。
(4) 代码实现

public class SingleTon01 {public static void main(String[] args) {Wife instance = Wife.getInstance();System.out.println(instance);}
}
//有一个类,Wife
// 只能有一个Wife
class Wife{private String name;private static Wife wf = new Wife("xiaohong");//构造器私有化private Wife(String name) {this.name = name;}//这里使用static:这个类不能创建对象,无法调用对象方法,只能调用static方法//这个方法不是静态的,就必须new一个对象,访问非静态方法public static Wife getInstance() {return wf;}@Overridepublic String toString() {return "Wife{" +"name='" + name + '\'' +'}';}
}

在这里插入图片描述
饿汉式,有可能没使用这个实例,就创建好了。private static Wife wf = new Wife(“xiaohong”); 是静态变量,在类加载的时候就已经创建好了。这种对象通常是重量级的对象。可能造成创建了对象但是没有使用,所以会使资源浪费。

懒汉式,使用这个实例的时候再创建。

2、懒汉式

步骤
(1)构造器私有化
(2)定义一个static静态属性对象 (这里只是定义,没有使用new)
(3)提供一个public 的 static 方法 getInstance ,可以返回一个 Cat 对象。在此方法中才 new
(4)懒汉式:只有当用户使用 getInstance 时,才返回 cat 对象。后面再次调用时,会返回上次创建的对象。

//程序运行过程中,只能养一只猫
class Cat {private String name;private static Cat cat;private Cat(String name) {this.name = name;}public static Cat getInstance() {if(cat == null) {cat = new Cat("kitty");}return cat;}}

3、区别

  1. 二者最主要的区别在于创建对象的时机不同:饿汉式是在类加载就创建了对象实例,而懒汉式是在使用时才创建。
  2. 饿汉式不存在线程安全问题,懒汉式存在线程安全问题。(后面学习线程后,会完善)
  3. 饿汉式存在浪费资源的可能。因为如果程序员一个对象实例都没有使用,那么饿汉式创建的对象就浪费了,懒汉式是使用时才创建,就不存在这个问题。
  4. 在我们 javaSE标准类中,java.lang.Runtime 就是经典的单例模式。
    (Runtime 源码,饿汉式)
    在这里插入图片描述

本笔记是对韩顺平老师的Java课程做出的梳理。方便本人和观看者进行复习。
课程请见: https://www.bilibili.com/video/BV1fh411y7R8/?spm_id_from=333.999.0.0&vd_source=ceab44fb5c1365a19cb488ab650bab03

http://www.yayakq.cn/news/734337/

相关文章:

  • asp门户网站系统外包做网站的要求怎么写
  • 会展企业网站建设方案499全包网站建设
  • 桂电做网站的毕设容易过嘛企业网络推广平台
  • 获取网站访客qq代码广告设计在线设计
  • 河北沧州泊头做网站的电话jsp 网站开发教程
  • 济南做网站的公司有哪些wordpress 后台攻击
  • 深圳app设计网站建设微信网站域名
  • 如何查询网站空间大小苏州市工程造价信息网官网
  • 北京师范大学学风建设专题网站优化就是开除吗
  • 潍坊网站建设价格wordpress flv
  • 十堰高端网站建设洛阳搜索引擎优化
  • 该网站正在建设服务器一年多少钱
  • 郑州市金水区建设局网站服务器网站管理系统
  • 上海住房与建设部网站网站制作公司网址
  • 网站设计制作程序优秀行业网站
  • 提供网站设计方案公司物流公司怎么做
  • 一流的高密网站建设c2c跨境电商平台有哪几个
  • 如何做网站的内链和外链网站建设有哪些软件
  • 如何为公司做网站为什么网站建设
  • 全国最新网站备案查询螃蟹网络游戏账号交易平台
  • 南通企业建站程序微信开放平台与个人网站怎么
  • 专业制作网站是什么广东网站开发
  • 医院建设网站要求分析 amp办公室内网怎么搭建局域网
  • 网站建设 会议纪要wordpress4.0.6 漏洞
  • 从事网站建设的职业北京西站附近景点
  • 泰安有口碑的企业建站公司招聘网站开发费用
  • 百度官网地址合肥优化推广公司
  • 百度网站收录提交入口全攻略金华企业网站建站模板
  • jfinal怎么做网站会计培训班一般多少钱
  • 陕西省建设监理协会网站证书朋友圈网站广告怎么做