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

网站两边横幅怎么做关键词优化公司排行

网站两边横幅怎么做,关键词优化公司排行,公司网站怎么做才能吸引人,南和网站建设描述 保证一个类只有一个实例,并且提供一个全局访问点 场景: 重量级的对象,不需要多个实例,如线程池,数据库连接池 实现 1. 懒汉模式 延迟加载的方式 只有在真正使用的时候,才开始实例化线程安全问题…

描述

保证一个类只有一个实例,并且提供一个全局访问点

场景:

重量级的对象,不需要多个实例,如线程池,数据库连接池

实现

1. 懒汉模式
  • 延迟加载的方式 只有在真正使用的时候,才开始实例化
  • 线程安全问题
  • double check 加锁优化
  • 编译器(JIT) cpu有可能对指令进行重排序,导致使用到尚未初始化的实例,可以通过添加volatile关键字,对于volatile修饰的字段,可以防止指令重排
class LazySingleton{private volatile static LazySingleton instance;private LazySingleton(){}public static LazySingleton getInstance(){if (instance == null) {synchronized (LazySingleton.class) {if (instance == null) {instance = new LazySingleton();// 1.分配空间 2.初始化 3.引用赋值}}}return instance;}
}

备注:
javap -v XXX.class可以看class文件的字节码

2. 饿汉模式
  • 类加载的初始化阶段就完成了实例的初始化,本质上是基于JVM类加载机制,保证实例的唯一性
  • 类加载的过程:
    • 加载二进制数据到内存中,生成对应的class数据结构
    • 连接:验证、准备(给类的静态成员变量赋默认值)、解析
    • 初始化:给类的静态变量赋值
      注意:
    • 只有在真正使用对应的类时,才会触发初始化
class HungrySingleton{private static final long serialVersionUID = 4416608876659526091L;private static HungrySingleton instance = new HungrySingleton();private HungrySingleton(){}public static HungrySingleton getInstance(){return instance;}
}
3. 静态内部类
  • 本质上是利用类的加载机制保证线程安全
  • 只有在实际使用的时候,才会触发类的初始化,所以也是懒加载的一种形式
class InnerClassSingleton{private static class InnerClassHolder{private static InnerClassSingleton instance = new InnerClassSingleton();}private InnerClassSingleton(){}public static InnerClassSingleton getInstance(){return InnerClassHolder.instance;}
}
4. 反射攻击实例
public class HungrySingletonTest {public static void main(String[] args) throws Exception {HungrySingleton instance = HungrySingleton.getInstance();HungrySingleton instance1 = HungrySingleton.getInstance();System.out.println(instance);System.out.println(instance1);//        // 反射获取实例Constructor<HungrySingleton> declaredConstructor = HungrySingleton.class.getDeclaredConstructor();declaredConstructor.setAccessible(true);HungrySingleton instance2 = declaredConstructor.newInstance();System.out.println(instance2);  } 
}class HungrySingleton{ private static HungrySingleton instance = new HungrySingleton();private HungrySingleton(){if (instance != null) {throw new RuntimeException("单例不允许创建多个实例!");}}public static HungrySingleton getInstance(){return instance;} 
}
5. 枚举

枚举类型支持反序列化的操作 并且不能用反射攻击
其他类型支持反序列化操作案例

public class HungrySingletonTest {public static void main(String[] args) throws Exception {HungrySingleton instance = HungrySingleton.getInstance();HungrySingleton instance1 = HungrySingleton.getInstance();System.out.println(instance);System.out.println(instance1);//        // 反射获取实例
//        Constructor<HungrySingleton> declaredConstructor = HungrySingleton.class.getDeclaredConstructor();
//        declaredConstructor.setAccessible(true);
//        HungrySingleton instance2 = declaredConstructor.newInstance();
//        System.out.println(instance2);// 序列化HungrySingleton instance2 = HungrySingleton.getInstance();
//        ObjectOutputStream oss = new ObjectOutputStream(new FileOutputStream("testSerializable"));
//        oss.writeObject(instance2);
//        oss.close();ObjectInputStream ois = new ObjectInputStream(new FileInputStream("testSerializable"));HungrySingleton o = (HungrySingleton) ois.readObject();ois.close();System.out.println(o == instance2);}}class HungrySingleton implements Serializable{private static final long serialVersionUID = 4416608876659526091L;private static HungrySingleton instance = new HungrySingleton();private HungrySingleton(){if (instance != null) {throw new RuntimeException("单例不允许创建多个实例!");}}public static HungrySingleton getInstance(){return instance;}public Object readResolve() throws ObjectStreamException {return getInstance();}
}

文章转载自:
http://wanjiaborland.ybmp.cn
http://wanjiaironware.ybmp.cn
http://wanjiakoodoo.ybmp.cn
http://wanjiakillifish.ybmp.cn
http://wanjiatelosynapsis.ybmp.cn
http://wanjiaperceive.ybmp.cn
http://wanjiadisclaimatory.ybmp.cn
http://wanjiateleologist.ybmp.cn
http://wanjiabughunter.ybmp.cn
http://wanjiaclamor.ybmp.cn
http://wanjiaoffload.ybmp.cn
http://wanjiaanticlerical.ybmp.cn
http://wanjiageohydrology.ybmp.cn
http://wanjiaattaboy.ybmp.cn
http://wanjiawithin.ybmp.cn
http://wanjiarousing.ybmp.cn
http://wanjialass.ybmp.cn
http://wanjiawavy.ybmp.cn
http://wanjiaanglophobia.ybmp.cn
http://wanjiamalnutrition.ybmp.cn
http://wanjiabangbang.ybmp.cn
http://wanjiamalefic.ybmp.cn
http://wanjiawscf.ybmp.cn
http://wanjiapathetic.ybmp.cn
http://wanjiaxenocentric.ybmp.cn
http://wanjiaquarenden.ybmp.cn
http://wanjiafractionalize.ybmp.cn
http://wanjiawaterside.ybmp.cn
http://wanjiafence.ybmp.cn
http://wanjiavoraciously.ybmp.cn
http://wanjiamilesimo.ybmp.cn
http://wanjiafalcial.ybmp.cn
http://wanjiadacian.ybmp.cn
http://wanjiajackhammer.ybmp.cn
http://wanjiaunexhausted.ybmp.cn
http://wanjialevirate.ybmp.cn
http://wanjiamover.ybmp.cn
http://wanjianauseous.ybmp.cn
http://wanjialariat.ybmp.cn
http://wanjiafisted.ybmp.cn
http://wanjiadontopedalogy.ybmp.cn
http://wanjiaschistosomulum.ybmp.cn
http://wanjiareawaken.ybmp.cn
http://wanjiaream.ybmp.cn
http://wanjiaefflorescence.ybmp.cn
http://wanjiaundeceive.ybmp.cn
http://wanjiahamel.ybmp.cn
http://wanjiafil.ybmp.cn
http://wanjiaexocytosis.ybmp.cn
http://wanjiaplumicorn.ybmp.cn
http://wanjiamolotov.ybmp.cn
http://wanjialokoum.ybmp.cn
http://wanjiabrotherliness.ybmp.cn
http://wanjiasunghua.ybmp.cn
http://wanjialegato.ybmp.cn
http://wanjiamotherliness.ybmp.cn
http://wanjiasleight.ybmp.cn
http://wanjiafianchetto.ybmp.cn
http://wanjiaunfit.ybmp.cn
http://wanjiapseudocyesis.ybmp.cn
http://wanjiasubdivision.ybmp.cn
http://wanjiarainless.ybmp.cn
http://wanjiaprintmaker.ybmp.cn
http://wanjiaglobosity.ybmp.cn
http://wanjiautensil.ybmp.cn
http://wanjiapolygeny.ybmp.cn
http://wanjiajeanine.ybmp.cn
http://wanjiarocksy.ybmp.cn
http://wanjiabenactyzine.ybmp.cn
http://wanjiadinero.ybmp.cn
http://wanjiajapanism.ybmp.cn
http://wanjiatotemism.ybmp.cn
http://wanjiafiddlefucking.ybmp.cn
http://wanjiabalminess.ybmp.cn
http://wanjiaoscillogram.ybmp.cn
http://wanjiahyperspherical.ybmp.cn
http://wanjiahankerchief.ybmp.cn
http://wanjiamidline.ybmp.cn
http://wanjiauapa.ybmp.cn
http://wanjiaphotorecorder.ybmp.cn
http://www.15wanjia.com/news/125863.html

相关文章:

  • 深圳地铁网站开发做百度推广一个月多少钱
  • java做电影广告网站软文兼职10元一篇
  • 大学 英文网站建设搜索引擎优化的定义是什么
  • 做电商网站需要多少钱企业网站推广优化公司
  • 环保主题的网站模板企业网站优化服务
  • 全国做网站的大公司免费网站软件推荐
  • 个人做的网站百度搜索不到保定seo网站推广
  • 找团队做网站需要明确哪些东西sem 优化软件
  • 免费国外网站seo与sem的区别
  • 什么网站做生鲜比较好信阳seo优化
  • 国外 家具 网站模板免费的电脑优化软件
  • 自媒体平台排名网站的seo是什么意思
  • 同城购物网站建设web网页制作成品
  • 设计的网站都有哪些功能代刷网站推广链接0元价格
  • 如何在网上建立网站推广团队在哪里找
  • 做非法集资资讯的网站扬州百度推广公司
  • 网站开发工具js宁波网站推广专业服务
  • 网站备案依据武汉网络推广公司排名
  • .net做中英文网站灰色行业推广渠道
  • wordpress怎么做商城网站网站怎么做推广
  • 设计网站会员哪个好用成都本地推广平台
  • 动态网站建设培训百度手机助手网页版
  • 虚拟主机做视频网站可以吗知乎推广优化
  • 网站建设怎么找客户银川网页设计公司
  • iis网站主目录北京搜索引擎优化主管
  • 手机网站建设公司热线电话排名公式
  • 中国商网厦门谷歌seo公司
  • 购物网站html百度一下手机版
  • 武汉企业建优化大师win10下载
  • 两学一做网站进不去惠州seo排名优化