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

做公司网站成本外贸网站建设公司

做公司网站成本,外贸网站建设公司,网站建设要咨询哪些,国际企业网站建设1. 概念 保证一个类只有一个实例并为该实例提供一个全局唯一的访问节点 2. 懒汉式-方式一 2.1 代码示例(方式一) 示例 public class Singleton03 {/*** 构造器私有化*/private Singleton03() {}/*** 成员变量*/private static Singleton03 INSTANCE;…

1. 概念

  • 保证一个类只有一个实例
  • 并为该实例提供一个全局唯一的访问节点

2. 懒汉式-方式一

2.1 代码示例(方式一)

示例
public class Singleton03 {/*** 构造器私有化*/private Singleton03() {}/*** 成员变量*/private static Singleton03 INSTANCE;/*** 对外提供公有的静态方法*/public static Singleton03 getInstance() {// 用到才加载if (INSTANCE == null) {INSTANCE = new Singleton03();}return INSTANCE;}
}
public class SingletonTest03 {public static void main(String[] args) {Singleton03 instance = Singleton03.getInstance();Singleton03 instance1 = Singleton03.getInstance();System.out.println(instance == instance1);System.out.println("instance.hashCode= " + instance.hashCode());System.out.println("instance1.hashCode= " + instance1.hashCode());}
}

2.2 优缺点(方式一)

  1. 起到了Lazy Loading的效果,但是只能在单线程下使用。
  2. 如果在多线程下,一个线程进入了if(singleton==null)判断语句块,还未来得及
    往下执行,另一个线程也通过了这个判断语句,这时便会产生多个实例。所以
    在多线程环境下不可使用这种方式。

2.3 结论(方式一)

  • 线程不安全,在实际开发中,不要使用这种方式。

3. 懒汉式-方式二

3.1 代码示例(方式二)

示例
public class Singleton04 {/*** 构造器私有化*/private Singleton04() {}/*** 成员变量*/private static Singleton04 INSTANCE;/*** 对外提供公有的静态方法*/public static synchronized Singleton04 getInstance() {// 加入同步代码,解决线程不安全问题if (INSTANCE == null) {INSTANCE = new Singleton04();}return INSTANCE;}
}
public class SingletonTest04 {public static void main(String[] args) {Singleton04 instance = Singleton04.getInstance();Singleton04 instance1 = Singleton04.getInstance();System.out.println(instance == instance1);System.out.println("instance.hashCode= " + instance.hashCode());System.out.println("instance1.hashCode= " + instance1.hashCode());}
}

3.2 优缺点(方式二)

  1. 解决了线程不安全问题。
  2. 效率太低了,每个线程在想获得类的实例时候,执行getinstance()方法都要进行同步。而其实这个方法只执行一次实例化代码就够了,后面的想想获得该类实例,直接return就行了。方法进行同步效率太低。

3.3 结论(方式二)

  • 线程安全,但效率太低,在实际开发中,不推荐使用这种方式。

4. 懒汉式-方式三

4.1 代码示例(方式三)

示例
public class Singleton05 {private Singleton05() {}private static Singleton05 INSTANCE;public static Singleton05 getInstance() {if (INSTANCE == null) {synchronized (Singleton05.class) {INSTANCE = new Singleton05();}}return INSTANCE;}
}
public class SingletonTest05 {public static void main(String[] args) {Singleton05 instance = Singleton05.getInstance();Singleton05 instance1 = Singleton05.getInstance();System.out.println(instance == instance1);System.out.println("instance.hashCode= " + instance.hashCode());System.out.println("instance1.hashCode= " + instance1.hashCode());}
}

4.2 优缺点(方式三)

  1. 这种方式,本意是想对第四种实现方式的改进,因为前面同步方法效率太低,改为同步产生实例化的的代码块。
  2. 但是这种同步并不能起到线程同步的作用。跟方式一实现方式遇到的情形一致,假如一个线程进入了if(singleton==null)判断语句块,还未来来得及往下执行,另一个线程也通过了这个判断语句,这时便会产生多个实例。

4.3 结论(方式三)

  • 线程不安全,在实际开发中,不要使用这种方式

http://www.yidumall.com/news/20618.html

相关文章:

  • 网站建设公司创意如何做网站
  • 专门做二手书的网站电话营销
  • 成都建设网站分享seo公司系统
  • 福州微信网站湖南手机版建站系统开发
  • 企业网站建设费用做管理费用吗seo招聘信息
  • vps docker wordpress手机端网站优化
  • 安阳网站建设报价最新推广注册app拿佣金
  • 可可里小姐网站建设推广排名
  • 美橙网站维护天津百度seo排名优化
  • 做百度文库需要网站吗seo费用价格
  • 电商网站建设运营协议微信销售平台
  • 供应邢台wap网站建设有哪些网页设计公司
  • 广州技术支持:奇亿网站建设链接提交
  • 专业的led网站建设谷歌推广怎么做
  • 做网站建设公司哪家好seo 优化是什么
  • 宿州哪家做网站不做怎么写软文推广
  • 泉港报名网站建设需要sem代运营
  • 做交互的网站北京搜索优化推广公司
  • 湖南手机网站建设英雄联盟最新赛事
  • 网站建设群发广告词广州网站营销seo
  • wordpress 禁用响应seo研究协会网app
  • 国外的自建网站怎么做网站怎样优化关键词好
  • 公司是做小程序还是做网站网络渠道有哪些
  • 怎样给网站做排名优化年度关键词有哪些
  • 建立网站怎么做hyein seo
  • 专业的移动网站建设公司百度指数官网入口
  • wordpress部署云百度seo排名报价
  • 义乌购物网站建设多少钱竞价排名机制
  • 公司网站服务商志鸿优化网官网
  • wordpress伪静态失效天津seo渠道代理