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

网站宣传和推广的方法有哪些seo人人网

网站宣传和推广的方法有哪些,seo人人网,百度的网址,3d家装效果图制作软件单例模式,是设计模式的一种。 在计算机这个圈子中,大佬们针对一些典型的场景,给出了一些典型的解决方案。 目录 单例模式 饿汉模式 懒汉模式 线程安全 单例模式 单例模式又可以理解为是单个实例(对象) 在有些场…

单例模式,是设计模式的一种。

在计算机这个圈子中,大佬们针对一些典型的场景,给出了一些典型的解决方案。

目录

单例模式

饿汉模式

懒汉模式

线程安全


单例模式

单例模式又可以理解为是单个实例(对象)

在有些场景中,有特定的类,只能创建出一个实例,不应该创建多个实例。使用了单例模式以后,此时想要创建多个实例就变得很困难~

Java中的单例模式就是针对上述的需求场景进行了更强制的保证。通过巧用Java的现有语法,达成了某个类只能被创建出一个实例这样的效果。

饿汉模式

Java代码中的每个类,都会在编译完成后得到.class文件,JVM运行时就会加载这个.class文件读取其中的二进制指令,并且在内存中构造出对应的类对象(在这个文件中是instance)。(形如Singleton.class)

由于类对象在一个Java进程里,只是有唯一的一份,因此类对象内部的类属性也是唯一一份了。

如果不加static,

1.保证不了这个实例唯一

2.保证不了这个实例被创建的时机

3.让当前instance属性是类属性了。类属性是长在类对象上的,类对象又是唯一的实例(static保证了是在类加载的阶段创建出一个实例)

(类加载:运行一个java程序,就需要让java进程能够找到并读取对应的.class文件就会读取文件内容,并解析,构造成类对象.....这一系列的过程操作,称为类加载。)

如果需要使用这个唯一实例,就需要通过Singleton.getInstance()方式来获取。

同时为了避免Singleton类不小心被复制出多份来,把构造方法设为private,在类外就无法通过new的方式来创建这个Singleton实例了。

 

懒汉模式

如果拿吃完饭洗碗来分别比喻饿汉模式和单例模式,那么

饿汉模式:吃完饭后把所有的碗全部洗完,用了几个就洗几个

懒汉模式:吃完饭后不洗碗,下次吃饭前需要用多少个碗就洗多少个碗。

线程安全

上述写的饿汉模式和懒汉模式,如果在多线程环境下调用getInstance,是否是线程安全的?

结论就是饿汉模式是安全的,懒汉模式需要先看是否需要创建,再创建,涉及到了读和写两个操作。

如何让懒汉模式成为是线程安全的呢?

加锁

加锁方式1:

加锁方式2:

 

这样也单例模式名字的由来,只能有一个对象出现,加锁后t2线程就不会再重复创建对象。

但是到这里,当前的代码还是有问题。

 所以:

如果对象还没创建,才要加锁

如果对象已经创建,就不加锁了

但是上述单例模式代码还是有问题,内存可见性问题。

instance = new Singleton();

可以拆分成三个步骤:

1.申请内存空间

2.调用构造方法,把这个内存空间初始化成一个合理的对象

3.把内存空间的地址赋值给instance引用

正常情况下是按照123这个顺序来执行的,但是编译器可能是会对指令重排序,为了提高编程效率,调整代码执行顺序。单线程中并没有问题,但是多线程环境下就会有问题了。

解决办法:volatile

1.解决内存可见性

2.禁止指令重排序

 

 简单的单例模式就介绍到这~复杂的以后再说~

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

相关文章:

  • 惠州市建设规划局网站wordpress主题美化插件
  • 高校二级网站建设要求广西柳州网站建设
  • 对接公众号的网站怎么做仿礼物说网站模板
  • 上海城市建设官方网站百度h5怎么发布
  • 企业网站建设现状led灯 东莞网站建设
  • 网页游戏网站知乎如何帮别人推广赚钱
  • 建设银行网站在哪设置查询密码住房和城乡建设厅安全员证
  • 分销网站怎么做长沙app定制开发
  • 搭配网站开发的开题报告装修公司网站制作
  • 手机笑话网站源码做互联网网站待遇
  • 有哪些网站做的好网站建设中小企业广西
  • 科技有限公司可以做网站建设吗深圳做网站公司有哪些
  • 有没有免费的seo网站浙江建设厅 继续教育 网站首页
  • 网站发展的方向小木桥建设网站
  • 学设计常用的网站网页版梦幻西游贴吧
  • 网站建设开发公司定制网站制作网站建设包含以下哪些建设阶段
  • 情人节网站源码下载搜钛建站
  • 怎样到提供电子邮件的网站注册pageadmin的应用
  • 郑州博文it培训 网站开发 平面wordpress版本下载
  • 做网站开发的薪酬怎么样四川省建设网塔吊证查询网站
  • 网站开发组播地址的作用销售找客户的方法
  • 黄村网站建设建网站得多少钱
  • 百度网盘可以做网站吗嵌入式培训机构
  • 网站导航栏动效怎么做阿里云 网站托管
  • 简单网站页面设计建行官网
  • 网站开发基础知识试题网站制作公司业务员
  • 线上培训网站开发四川和城乡建设厅网站
  • 做网站攻略做网站的框架结构
  • 低价车网站建设网站建设的意义怎么写
  • 宁波网站优化技术厦门市建设局网站规划标准