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

中铁建设集团官方网站品牌网查询

中铁建设集团官方网站,品牌网查询,沈阳网站建设 景乔科技,广州网络建站什么是单例模式 单例模式确保应用中,一个类最多只有一个实例单例模式也提供访问此实例的全局访问点单例模式实现中,使用了一个私有构造器,一个静态方法以及一个静态变量 为什么要用单例模式 java中静态全局变量也能做到被实例化一次 但是…

什么是单例模式

  • 单例模式确保应用中,一个类最多只有一个实例
  • 单例模式也提供访问此实例的全局访问点
  • 单例模式实现中,使用了一个私有构造器,一个静态方法以及一个静态变量

为什么要用单例模式

java中静态全局变量也能做到被实例化一次

但是对于全局变量而言,这个全局变量对象可能在应用启动的时候就被创建,如果这个对象是资源密集型的,则长时间没使用,就对资源不是很友好。

单例模式可以使得对象延迟被创建,对于资源密集型的应用来说很重要。

单例模式的实现方式

  1. 简单的实现方式:
public class Singleton {private static Singleton uniqueInstance;// 其他有用的实例变量private Singleton() {};public static Singleton getInstance() {if (uniqueInstance == null) {uniqueInstance = new Singleton();}return uniqueInstance;}

优点:符合单例模式的定义,满足单例模式的要求
缺点:在多线程的环境下,容易产生多个实例

  1. 多线程情况下的同步方式
public class Singleton1 {private static Singleton1 uniqueInstance;// 其他有用的实例变量private Singleton1() {};public static synchronized Singleton1 getInstance() { // synchronized设置成同步的if (uniqueInstance == null) {uniqueInstance = new Singleton1();}return uniqueInstance;}
}

优点:同步方式可以解决多线程并发的问题
缺点:同步锁很重,容易带来性能低下的问题

  1. 饿汉模式,让JVM来保证实例的唯一性
public class Singleton2 {private static Singleton2 uniqueInstance = new Singleton2(); // JVM来保证唯一性private Singleton2() {};public static Singleton2 getInstance() {return uniqueInstance;}
}

优点:让JVM来保证实例的问一下,可以解决多线程带来的并发问题
缺点:使用不够灵活

  1. 双重检查加锁
public class Singleton3 {private volatile static Singleton3 uniqueInstance;private Singleton3() {};public static Singleton3 getInstance() {if (uniqueInstance == null) {synchronized (Singleton3.class) {if (uniqueInstance == null) {uniqueInstance = new Singleton3();}}}return uniqueInstance;}
}

优点:可以解决同步过重的问题
缺点:至少得在java5以上才能运行

  1. 枚举方式实现单例
public enum SingletonEnum {INSTANCE,public void testMethod() {System.out.println("执行了单例类的方法");}
}

优点:真正做到线程安全,避免上述方法隐藏的问题

参考文档:单例模式加锁/枚举

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

相关文章:

  • 做网站小程序的客户是怎么找的广州天河区做网站
  • 深圳外贸网站制作苏宁易购网站建设方案
  • scatter网站开发线上室内设计师
  • 工业和信息化网站备案系统中国企业信用网
  • 免费app制作网站如何搭建个人博客网站
  • 攸县做网站的湖南禹班建设集团有限公司网站
  • 王者荣耀网站开发目的域名访问网站应该怎么做
  • 毕业答辩问题怎么做的这个网站传奇服务器多少钱一个月
  • 能下载的网站建设好网站能赚到钱吗?
  • 薪火相传网站建设去掉wordpress分类
  • 做网站合肥业之峰装饰官网
  • 深圳建站公司服务惠州网站开发
  • 吉林大学建设工程学院 旧网站写作网站水平哪个最好
  • 网站地址免费2345网址大全浏览器
  • 百度装修网站百度h5制作
  • 制作营销网站模板下载设计云官网
  • 申请域网站软件制作小程序开发
  • 网站设计的要求有哪些备案期间需要关闭网站
  • 国外网站配色wordpress3.6下载
  • 做游戏网站要多少钱世界杯韩国出线了吗
  • 专业的网站制作专业公司潍坊网络营销招聘
  • 怎么做金融营销网站中文域名价格
  • 网站内页seo网站建设演示ppt模板下载
  • 电商网站开发的引言网站开发模板教程
  • 保定市城市规划建设局网站wordpress游戏小程序
  • 海南建设银行分行网站苏宁易购网站建设分析
  • 模板网站可以做优化高清视频服务器
  • 网站建设的关键细节吉林网络优化多少钱
  • 做网站编辑怎么样semseo
  • 电商平台建站关键词林俊杰的寓意