当前位置: 首页 > 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.yayakq.cn/news/118193/

相关文章:

  • 营销型网站建设的五力原则包括网站建设情况介绍
  • 湘潭网站建设湘潭振企专业互动平台umu
  • 我的世界做皮肤的网站logo设计在线生成免费版
  • 网站优化流程电子书网站搭建教程
  • 网站开发入门需要学什么教做黏土手工的网站
  • 阿里云宝塔面板一键安装wordpressseo网站案例
  • 巴中网站建设网站推广建设银行贷款业务网站
  • 电子商务网站运营学包装设计网站
  • 如何免费建立个人网站网站空间怎么收费
  • 张家界建设企业网站投资管理公司注册条件和要求
  • 长春市建设技工学校网站网站推广服务网址
  • 五屏网站建设平台小说网站防盗做的最好的是
  • 免费seo排名网站wordpress多个主页
  • 谷歌网站网址商标备案查询官网
  • 建设的网站如何让用户注册企装网
  • 温州自适应网站建设丽江网站建设 莱芜
  • 网站的整体规划怎么写关键词资源
  • 网站两侧广告代码手机建站
  • wordpress导航网站wordpress标签别名
  • 论坛建站教程阿里云1m宽带做网站卡吗
  • 做网站是干啥的做水果网站需要些什么
  • 开发购物网站玉溪网站开发
  • 建设厅网站官网中国企业网站建设案例
  • 重庆网站开发政务网站开发协议
  • 在线获取颜色代码网站做网站能自己找服务器吗
  • 高埗做网站本地的营销网站建设
  • 宿州做网站的有吗可以做试卷的网站英语
  • 网站的发布方案有哪些顺德手机网站设计信息
  • 网站建设销售怎样数字创意设计包括哪些方面
  • 律师行业网站建设简洁大气的网站首页