2019独角兽企业重金招聘Python工程师标准>>>

dubbo 版本 2.6.2

/*** Find the extension with the given name. If the specified name is not found, then {[@link](https://my.oschina.net/u/393) IllegalStateException}* will be thrown.*/@SuppressWarnings("unchecked")public T getExtension(String name) {if (name == null || name.length() == 0)throw new IllegalArgumentException("Extension name == null");if ("true".equals(name)) {return getDefaultExtension();}Holder<Object> holder = cachedInstances.get(name);if (holder == null) {cachedInstances.putIfAbsent(name, new Holder<Object>());holder = cachedInstances.get(name);}Object instance = holder.get();if (instance == null) {synchronized (holder) {instance = holder.get();if (instance == null) {instance = createExtension(name);holder.set(instance);}}}return (T) instance;}

由于真实的扩展类可能是比较重量级的类,dubbo使用一个轻量级的Holder来避免这些类的重复创建:

cachedInstances.putIfAbsent(name, new Holder<Object>());

转载于:https://my.oschina.net/u/206123/blog/2253281

dubbo 扩展单例的保存相关推荐

  1. Scala类的定义,主/辅构造器,以及方法中的变量定义,单例对象,伴生对象,Apply方法调用,应用程序对象

    1. 类 1.1. 类的定义 package cn.toto.scala.day2/*** 在Scala中,类并不用声明为public类型的.* Scala源文件中可以包含多个类,所有这些类都具有共有 ...

  2. 单例销毁_【PHP设计模式】单例模式

    前言 设计模式是我们开发过程中的重中之重,所以今天小编就来学习设计模式中的单例模式. 单例模式 <?phpclass Singleton { /*** 定义一个静态变量保存已经实例化的对象* * ...

  3. 单例嵌套 ios_嵌套类型的前5个用例

    单例嵌套 ios 前几天,关于reddit进行了有趣的讨论,即静态内部类. 什么时候太多? 首先,让我们回顾一下Java的基本历史知识. Java语言提供了四个级别的嵌套类 ,通过" Jav ...

  4. java 单例 读写锁_终极锁实战:单JVM锁+分布式锁

    目录 1.前言 2.单JVM锁 3.分布式锁 4.总结 =========正文分割线================= 1.前言 锁就像一把钥匙,需要加锁的代码就像一个房间.出现互斥操作的典型场景:多 ...

  5. java servlet是单例吗_关于java:为什么apache servlet是单例?

    本问题已经有最佳答案,请猛点这里访问. HttpServletRequest request; HttpServletResponse response; public void doGet(Http ...

  6. 《JavaScript高级程序设计(第四版)》红宝书学习笔记(第五章:基本引用类型,原始值包装类型,单例内置对象)

    第五章:基本引用类型 引用值(或者对象)是某个特定引用类型的实例.新对象通过使用new操作符后跟一个构造函数(constructor)来创建. 5.1 Date 这里不对Date进行详细深入,仅基于书 ...

  7. 【转载】:单例设计模式

    http://www.dofactory.com/Patterns/PatternSingleton.aspx http://www.cnblogs.com/xun126/archive/2011/0 ...

  8. java中的class 类的作用_Java中Class和单例类的作用与类成员的理解

    Java中Class类的作用与深入理解 在程序运行期间,Java运行时系统始终为所有的对象维护一个被称为运行时的类型标识.这个信息跟踪着每个对象所属的类.JVM利用运行时信息选择相应的方法执行.而保存 ...

  9. 单例对象会被jvm的gc时回收吗_设计模式专题02-单例五种创建方式

    单例五种创建方式(下一篇:工厂模式) 什么是单例 保证一个类只有一个实例,并且提供一个访问该全局访问点 单例应用场景 1. Windows的Task Manager(任务管理器)就是很典型的单例模式( ...

最新文章

  1. Xamarin图表开发基础教程(1)
  2. Linux笔记:vim
  3. ros(7)自定义service数据
  4. 工程师软技能3:如何学习
  5. 玩转Git三剑客01:Git基础
  6. 计算机本科学报,计算机学报论文
  7. 从零开始学做微信小程序,看这些就够了!
  8. php面向对象特性(一)
  9. Illustrator2020中文版教程,如何在AI中使用蒙版来裁剪内容?
  10. Mysql 数据库/表 备份 与 还原
  11. 联想服务器改win7系统教程,联想笔记本Win10改Win7方法分享
  12. 2011年国家统计局省市代码、城市代码、省份代码表数据
  13. java ehcache使用_ehcache使用报错
  14. 17,verilog之for循环
  15. win10 nginx部署前端项目(静态资源服务器和HTML)
  16. 网上关于'好人卡'的定义
  17. 飞机专家调查发现坐飞机 机首、机翼和机尾最安全
  18. word饼图如何画引导线_#excel表格饼状图制作#如何在饼形图中添加引导线(Excel)...
  19. 如何更新neovim以及安装指定版本
  20. 工控电脑触摸显示屏幕监控报警方案-基于WiFi摄像头定时拍照图像识别技术

热门文章

  1. html背景音乐demo,music.html
  2. MySQL与优化有关的命令_MySQL优化全攻略-相关数据库命令
  3. SAP PM 初级系列16 - 设备相关的Asset号
  4. 一文看懂人脸识别(4个特点+4个实现步骤+5个难点+算法发展轨迹)
  5. 一文读懂深度学习:这个AI核心技术被美国掌控,很危险
  6. 「AI初识境」深度学习中常用的损失函数有哪些?
  7. 这12大管理原则,经营者必知
  8. 百家争鸣|国内外NLP领域学术界和工业界的牛人和团队
  9. 95页重磅报告:全面预测未来5年趋势
  10. 科技部向全社会征集颠覆性技术研发方向