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

合适的网站建设明细报价表dw个人网页制作代码

合适的网站建设明细报价表,dw个人网页制作代码,安徽省建设造价管理协会网站,辽宁工程建设信息网诚信库参考笔记:深入理解Java设计模式:单例模式及其饿汉式与懒汉式的对比,-CSDN博客 目录 1.什么是设计模式 2.经典设计模式 3.单例设计模式(static属性/方法经典使用场景 ) 3.1 饿汉式单例模式 3.2 懒汉式单例模式 4.补充 1.什么…

参考笔记:深入理解Java设计模式:单例模式及其饿汉式与懒汉式的对比,-CSDN博客

目录

1.什么是设计模式

2.经典设计模式

3.单例设计模式(static属性/方法经典使用场景 )

3.1 饿汉式单例模式

3.2 懒汉式单例模式

4.补充


1.什么是设计模式

设计模式是在大量的实践中总结和理论化之后优的代码结构、编程风格、以及解决问题的思考方式

2.经典设计模式

经典的设计模式共 23 种 

① 创建型模式,共 5 种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式

② 结构性模式,共 7 种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式

③ 行为型模式,共 11 种:策略模式、模板方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式


3.单例设计模式(static属性/方法经典使用场景 )

单例设计模式:采取一定的方法保证在整个软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法

单例设计模式主要有以下三个特点:

① 只能有一个实例
② 必须自己创建自己的唯一实例  
③ 必须给所有其他对象提供这一实例

3.1 饿汉式单例模式

① 特点:立即加载,类加载时就会把 single 创建完毕

② 优点:实现简单,不会有多线程安全问题

③ 缺点:当类加载时,会初始化 static 变量,静态变量被创建并分配内存空间。从这以后,这个 sttaic 的实例便一直占着这块内存,直到类被卸载时,静态变量被销毁,并解释所占用的内存空间。因此饿汉式单例模式在特定条件下会耗费内存

public class Test {public static void main(String[] args) {Singleton single1 = Singleton.getInstance();Singleton single2 = Singleton.getInstance();System.out.println(single1==single2);//trueSystem.out.println(single1);System.out.println(single2);}
}//饿汉式单例模式
class Singleton {private String name;// 1.私有化构造器,防止直接在其他类new对象private Singleton(String name) {this.name = name;}// 2.内部提供一个当前类的实例// 4.为了能够在静态方法getInstance中返回变量,single也必须静态化(静态方法只能调用静态属性/方法)private static Singleton single = new Singleton("小马");// 3.提供公共的静态的方法,返回当前类的对象public static Singleton getInstance() {return single;}@Overridepublic String toString() {return "Singleton{" +"name='" + name + '\'' +'}';}
}

3.2 懒汉式单例模式

先看代码,后面再总结

public class Test {public static void main(String[] args) {//single1和single2是同一对象Singleton single1 = Singleton.getInstance();Singleton single2 = Singleton.getInstance();System.out.println(single1==single2);//trueSystem.out.println(single1);System.out.println(single2);}
}//懒汉式单例模式
class Singleton {// 1.私有化构造器private Singleton() {}// 2.内部提供一个当前类的实例// 4.此实例也必须静态化private static Singleton single;// 3.提供公共的静态的方法,返回当前类的对象public static Singleton getInstance() {if(single == null) {single = new Singleton();}return single;}
}
/*输出结果
true
Singleton@1b6d3586
Singleton@1b6d3586
*/

① 特点:延迟加载,只有在调用静态方法 getInstancesingle 才被分配内存空间

② 优点:实现简单

    (1)饿汉式在类加载时就创建了对象实例,但是可能这个对象后面没有用或者用的少,就造成浪费;

    (2)懒汉式在类加载时 static 实例未被创建和分配内存空间,只有当静态方法 getInstance 第一次被调用时才返回对象,再次调用时,返回的也是上次调用的对象,因此保证了仅一个实例对象

③ 缺点:在多线程环境中,该实现方法存在线程安全问题,不能保证单例的唯一性

说明: 3 个线程同时进入 if 语句中,new3 次,破环了单例设计模式的原则 

4.补充

JavaSE 类库中,java.lang.Runtime 就是经典的单例模式,且是饿汉式的 


文章转载自:

http://7TNE1W3v.cyjjp.cn
http://SOHDbDBo.cyjjp.cn
http://37x5gRxQ.cyjjp.cn
http://v7WNc4n4.cyjjp.cn
http://P2PfUBRB.cyjjp.cn
http://lSIGgon8.cyjjp.cn
http://1rZxikau.cyjjp.cn
http://j9iA0kcl.cyjjp.cn
http://2qAp7LjB.cyjjp.cn
http://WsXJF6VR.cyjjp.cn
http://d9sVu27Y.cyjjp.cn
http://UlEp7sr6.cyjjp.cn
http://AFr2Slzd.cyjjp.cn
http://EU7x5rYv.cyjjp.cn
http://4QbEj14s.cyjjp.cn
http://mcFSUz7T.cyjjp.cn
http://NmohbDYM.cyjjp.cn
http://nhYAscwE.cyjjp.cn
http://i7uVflAi.cyjjp.cn
http://Ic2DaBOu.cyjjp.cn
http://HFvzpbmC.cyjjp.cn
http://lFexfDfh.cyjjp.cn
http://518s0qlr.cyjjp.cn
http://RhskQIfE.cyjjp.cn
http://6o4tsj05.cyjjp.cn
http://zXo08SBx.cyjjp.cn
http://Kpoacaas.cyjjp.cn
http://wuziBz3o.cyjjp.cn
http://Cxe1PB3Z.cyjjp.cn
http://Xe0zGNIV.cyjjp.cn
http://www.dtcms.com/wzjs/707280.html

相关文章:

  • 旅游信息网站开发05网数学
  • 怎么搞自己的网站最近一周的时政热点新闻
  • 东莞物流网站设计公司工作职责怎么写
  • 企业网站建设教程视频网站建设与维护培训
  • 做网站竞价还需要推广公司wordpress时光轴主题
  • 东莞做网站一年费用网站建设找什么工作室
  • vps 网站备案乐清虹桥门户网
  • 河北建设厅安监站官方网站免费创一个网站
  • 深圳网站建设 联雅企业网盘收费标准
  • 企业网站开发计划书软件技术专业课程
  • 高职高专网站建设与维护做网站的教程
  • 做网站的素材哪里找的山西省和城乡建设厅网站
  • 南安市城乡住房建设局网站做视频网站要多大的带宽
  • 鲜花网站素材成都自然排名优化
  • 事业单位 网络网站建设站长之家权重查询
  • 动漫网站开发毕业设计线上推广方案模板
  • 西安网站建设咪豆电商平台开网店
  • 做网站设计的论文中摘要怎么写自学软件开发
  • 北京网站制作建设化妆品行业网站建设
  • 企业网站建设找外包公司做凡客网站目录优化
  • 河南郑州做网站的公司天河区建设网站
  • 怎么做网站的seo排名知乎微网站和普通网站区别
  • 做网站哪家好 青岛答题做任务网站
  • 企业网站开发一薇广州做网站mxszpt
  • 烟台好的网站设计公司门户网站定制
  • 成都网站建设哪家公司好wordpress 直排主题
  • 建材企业网站营销怎么做承德建设网站
  • 宁波做网站定制沈阳医大一医院男科咨询
  • 网站发布平台wordpress侧边栏加速
  • 北京三原色ps网站网站提交收录