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

国外优秀摄影网站wordpress视频主题吾爱破解版

国外优秀摄影网站,wordpress视频主题吾爱破解版,设计说明英语翻译,大同市住房城乡建设网站一、描述 单例模式就是程序中一个类只能有一个对象实例 举个例子: //引出单例模式#xff0c;一个类中只能由一个对象实例 public class Singleton1 {private static Singleton1 instance new Singleton1();//通过这个方法来获取实例public static Singleton1 getInstance…一、描述 单例模式就是程序中一个类只能有一个对象实例 举个例子: //引出单例模式一个类中只能由一个对象实例 public class Singleton1 {private static Singleton1 instance new Singleton1();//通过这个方法来获取实例public static Singleton1 getInstance() {return instance;}//把构造方法设置私有防止创建多个线程private Singleton1() {} } public class Test1{public static void main(String[] args) {Singleton1 s1 new Singleton1();} } 这样写Test1类中Singleton1 s1 new Singleton1();会报错因为我们在Singleton1中把构造方法设置了私有 二、单例模式分类 1、饿汉模式 开始我就先给创建出这个实例并且赋值分配空间代码如下 public class Singleton1 {private static Singleton1 instance new Singleton1();//通过这个方法来获取实例public static Singleton1 getInstance() {return instance;} } 2、懒汉模式 在开始不创建这个实例在第一次调用这个类的时候在创建实例这样随用随分配空间代码如下 public class Singleton2 {private static Singleton2 instance null;//通过这个方法来获取实例public static Singleton2 getInstance() {if(instancenull){instancenew Singleton2();}return instance;}//把构造方法设置私有防止创建多个线程private Singleton2() {} } 三、懒汉模式的代码问题 问题一 这是多线程如果有两个线程分别是a和ba开始调用这个类的时候instancenull开始创建实例instance同时b线程在a还有没有创建完instance的时候也开始调用这个类判断条件是同样instancenull也开始创建实例当两个线程都执行完就创建了两个实例违背了单例模式这是bug!!! 问题一解决方案 其实很简单我们只需要引入锁就可以保证判断instancenull和new的对象是一起执行或者都不执行就可以了代码如下 public class soltion1 {private static soltion1 instance null;static Object objectnew Object();//通过这个方法来获取实例public static soltion1 getInstance() {synchronized (object){if(instancenull){instancenew soltion1();}}return instance;}//把构造方法设置私有防止创建多个线程private soltion1() {} } 有个新的问题如果a线程创建了instance但是以后的线程都要加锁这就造成了cpu创建锁的负担这是问题二 问题二解决方案 我们只要保证instance为空的时候进来是需要加锁的别的时候再进来就不用加锁了 public class soltion1 {private static soltion1 instance null;static Object objectnew Object();//通过这个方法来获取实例public static soltion1 getInstance() {if(instancenull){//这个if是判断instance是否为空synchronized (object){if(instancenull){//这个if是判断时候new新的对象instancenew soltion1();}}}return instance;}//把构造方法设置私有防止创建多个线程private soltion1() {} } 到这里我们已经解决了大部分问题了但是new创建对象的时候是有三部曲 申请内存空间在内存空间上构造对象把内存的地址赋值给instance引用 上述描述这是问题三  问题三解决方案 加volatile保证instance再修改时不会出现指令重排序情况 private volatile static soltion1 instance null; 总结 public class soltion1 {private volatile static soltion1 instance null;static Object objectnew Object();//通过这个方法来获取实例public static soltion1 getInstance() {if(instancenull){//这个if是判断instance是否为空synchronized (object){if(instancenull){//这个if是判断时候new新的对象instancenew soltion1();}}}return instance;}//把构造方法设置私有防止创建多个线程private soltion1() {} }
http://www.pierceye.com/news/724711/

相关文章:

  • 政务网站群建设需求调研表网站优化方案基本流程
  • 那个网站做调查问卷能赚钱架设一个网站
  • 什么网站是免费的合肥网页设计工资一般多少
  • 学校网站建设招聘提高网站浏览量
  • 特色专业网站建设模板北京网站建设公司分享网站改版注意事项
  • 网站上做地图手机上显示不出来的seo长尾快速排名
  • 网站怎么进行网络推广技术支持 湖州网站建设
  • 旅游找什么网站好仿朋友圈网站建设
  • 设置wordpress首页显示文章摘要aso优化是什么意思
  • 乡镇门户网站建设的现状及发展对策深圳网站建设评价
  • 河南省洛阳市建设银行的网站网站获得流量最好的方法是什么 ( )
  • 西安网站制作托wordpress媒体页
  • 杜集网站建设php网站怎么样
  • 山西做网站敬请期待哦
  • 前台网站开发技术Wordpress 建立学生档案
  • 邯郸网站制作找谁设置备份管理wordpress
  • 乌海学校网站建设镇江抖音seo
  • 网站建设在哪wordpress ping地址
  • 资讯文章网站模板徐州百度推广
  • 网站排名如何做西安有哪些网站设计公司
  • 广州网站开发学校wordpress优秀站点
  • wordpress 当前文章所属分类seo网站推广怎么做
  • 做网站要求电脑配置wordpress页眉描述
  • 做网站感想室内设计联盟邀请码怎么弄
  • 上海高端网站制作公司互联网黄页是什么
  • 网站服务器在阿里云专有网络做网站
  • 泰坦科技网站建设js代码 嵌入网站
  • 首都之窗门户网站首页中山做百度网站的公司吗
  • 网站 关键字 标签dede关闭网站
  • 甘肃路桥建设集团公司网站网页搭建模板