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

做网站销售那里找客户互联网舆情报告

做网站销售那里找客户,互联网舆情报告,网站建设服务专业建站公司,不花钱的网站建设开始前#xff0c;球球各位读者给个三连吧#xff0c;有错误感谢指出#xff0c;谢谢 单例模式也叫单个实例#xff0c;也就是这个类只有且只能有一个实例对象#xff0c;这样一个类就叫做“单例”#xff1b;单例模式有很多种#xff0c;这里只介绍“饿汉模式”和“懒…开始前球球各位读者给个三连吧有错误感谢指出谢谢 单例模式也叫单个实例也就是这个类只有且只能有一个实例对象这样一个类就叫做“单例”单例模式有很多种这里只介绍“饿汉模式”和“懒汉模式”两种 饿汉模式 唯一实例创建的时机非常早 //饿汉模式 class Singleton{//私有静态的实例对象外部无法获取随着类的记载而加载//类对象属性保证只有一个private static Singleton singletonnew Singleton();//共有的静态方法外界能够直接直接通过类名访问获取该单例对象public static Singleton getSingleton(){return singleton;}//私有方法确保外部无法创建该对象的实例private Singleton(){} } public class demo5 {public static void main(String[] args) {Singleton s1 Singleton.getSingleton();Singleton s2 Singleton.getSingleton();//s1s2指向的是同一个类对象System.out.println(s1s2);//trueSingleton s3new Singleton();//报错外部无法再new一个实例对象} } 懒汉模式 只有当该类第一次被实例化的才实例化如果该类没有被实例化就不实例化且要确保后续无法再次实例化确保只有一个实例化对象 //懒汉模式 class SingletonLazy{//首先实例对象要设置为空private static SingletonLazy singletonLazynull;//共有的获取该类唯一实例对象的方法public static SingletonLazy getSingletonLazy(){if(singletonLazynull){singletonLazynew SingletonLazy();}return singletonLazy;}//私有的构造方法外部无法创建该类的实例化对象private SingletonLazy(){} } public class demo6 {public static void main(String[] args) {SingletonLazy s1SingletonLazy.getSingletonLazy();SingletonLazy s2SingletonLazy.getSingletonLazy();//s1s2指向的是同一个实例化对象System.out.println(s1s2);//true//无法创建实例化对象SingletonLazy s3new SingletonLazy();} } 两种模式的最大的区别就是唯一对象创建的实际不同饿汉模式会在第一个时间创建只要该类加载内存唯一实例化对象就随着被创建而懒汉模式只有当被第一次调用需要实例化对象是才会实例化唯一对象如果不调用就不创建 如果程序中包含多个单例类使用饿汉模式刚开始就会扎堆创建很多个单例对象可能会使得程序启动变慢如果是懒汉模式只有当被调用时被会实例化对象实际是分散的不容易感觉卡顿 单例模式一般运用在类只需要一个实例化对象的时候或者需要避免该类被实例化第二个对象举个例子你写的服务器要从硬盘上加载100G的数据到内存中肯定要写成一个类封装上述加载操作并且写一些获取/处理数据的逻辑方法这样的类就因该是单例的一个实例化就要管理100g的数据多个实例就要加载N*100G的数据这是没有必要机器也是吃不消的 单例模式在多线程如何保证线程安全 饿汉模式在多线程是安全的但是懒汉模式在多线程是不安全的 饿汉模式是安全的因为在线程还没有创建之前唯一实例化对象就随着类的加载而创建了所以后续无论是多少个线程的单例对象指向的都是同一个实例化对象 懒汉模式之所以在多线程是不安全是因为在该模式下的实例化对象是在程序运行中被创建的这其中就有可能多个线程同时实例化对象不安全那就要加锁但是加锁在哪里又是一个需要考虑的问题结合下面两个线程同时实例化对象的可能过程一起来了解一下吧 第一种情况锁在new对象的时候 第二种情况锁在判断对象是否为空的时候 第二种情况的优化 第二种情况无疑是可以在一定程度上确保线程安全的但是针对第二种情况我们还可以再做优化由于以上例子只是在只有两个线程访问时确保线程安全如果有多个线程访问这时候后续的每一个线程在获取实例化对象的还是每次都要加锁然后再去判断对象是否为空加锁的开销也是很大的是一定程度上会拖慢程序的运行的这使得加锁在一定程度上与低效挂钩所以第二种情况的优化就是在进行一个判断singletonLazy是否为空代码如下 public static SingletonLazy getSingletonLazy(){if(singletonLazynull){synchronized (singletonLazy){if(singletonLazynull){singletonLazynew SingletonLazy();}}}return singletonLazy;} 还有一点补充虽然这一点不会100%出现就是编辑器对代码进行了优化出现内存可见性的情况即singletonLazy存在寄存器里当线程创建了该类的唯一实例化对象时singletonLazy并没有修改指向该对象所以可以在上volatile关键字 以下时懒汉模式在多线程依然保持安全完整代码 //懒汉模式 class SingletonLazy{//首先实例对象要设置为空private static volatile SingletonLazy singletonLazynull;//共有的获取该类唯一实例对象的方法public static SingletonLazy getSingletonLazy(){if(singletonLazynull){synchronized (singletonLazy){if(singletonLazynull){singletonLazynew SingletonLazy();}}}return singletonLazy;}//私有的构造方法外部无法创建该类的实例化对象private SingletonLazy(){} }
http://www.hkea.cn/news/14368011/

相关文章:

  • 网站开发岗位绿色食品网站建设论文
  • 马鞍山网站建设电话中国建设银行手机银行下载官方网站
  • 广州网站设计报价网络公司开发软件的人是叫it
  • 佛山乐从网站建设php自己写框架做网站
  • 网站运营工作的基本内容简述如何对网站进行推广
  • 如何做网站淘客易购商城网站怎么做啊
  • 阳江公司做网站学生网页设计作品欣赏
  • 做网站l价格屏蔽 wordpress 插件下载
  • 企业免费网站推广公司课程介绍网站建设ppt模板
  • 小型网站设计及建设论文文献织梦系统网站首页空白
  • 怎么制作网站教程步骤佛山专业网站建设公司推荐
  • 如何建设网站济南兴田德润简介电话微信公众平台设计
  • 做外贸的阿里巴巴网站是哪个桂林同城网站
  • 企业门户网站数据库设计西安网上进行公司
  • 成都企业网站建设介绍网站建设 创新
  • 让别人访问我的网站wordpress 去除logo
  • 怎么欣赏一个网站设计图房地产网站编辑
  • 庐山市建设规划局网站亳州网站建设费用
  • 网站的开发工具有哪些网站建设专题
  • 购物商城网站的运营vs设置网站开发环境
  • 大连网站建设要多少钱湖北建设厅官方网站
  • 有些网站仿出问题js网站统计代码
  • wordpress j建站网络营销渠道的功能包括
  • 百度推广包做网站吗iis发布网站后无法加载dll
  • 中小企业网站官网六安网站优化
  • a做爰网站p2p网站开发
  • 网站关键词排名优化软件网页设计与制作思考建议200字
  • 穹拓网站建设vps主机上新增网站
  • 丹东网站seo怎么进行网站建设
  • 怎么建php网站三亚网络哪个好