Dubbo源码Debug-Double Check考点

简介: ![image.png](https://ata2-img.cn-hangzhou.oss-pub.aliyun-inc.com/76230c3baf735828dedd39eca3c4d015.png) 说说看,你觉得这个在多线程并发的情况下会有问题吗? ![image.png](https://ata2-img.cn-hangzhou.oss-pub.aliyun-inc.com/

image.png

说说看,你觉得这个在多线程并发的情况下会有问题吗?

image.png

考点:1、指令重排,实际上一个bean的创建的创建的指令被分成了两条一条是bean存储空间的创建,另一条是bean的初始化执行。这两条指令可能被重排序。

2、如果先执行了bean存储空间的创建,那么,另外一个线程判断if(instance==null)就是不为空了,继续使用instance的内容,但是另外一条初始化的指令可能还没有执行完成。使用一个未初始化完成的bean可能出现未知错误。

3、使用volatile关键字修饰禁止使用设计的代码做指令重排。

目录
相关文章
|
6月前
|
缓存 Dubbo Java
趁同事上厕所的时间,看完了 Dubbo SPI 的源码,瞬间觉得 JDK SPI 不香了
趁同事上厕所的时间,看完了 Dubbo SPI 的源码,瞬间觉得 JDK SPI 不香了
|
6月前
|
Dubbo Java 应用服务中间件
从源码全面解析 dubbo 服务端服务调用的来龙去脉
从源码全面解析 dubbo 服务端服务调用的来龙去脉
|
Dubbo Java 应用服务中间件
由浅入深Dubbo核心源码剖析服务暴露与发现3
由浅入深Dubbo核心源码剖析服务暴露与发现3
64 0
|
XML Dubbo Java
由浅入深Dubbo核心源码剖析服务暴露与发现1
由浅入深Dubbo核心源码剖析服务暴露与发现1
92 0
|
监控 Dubbo Java
由浅入深Dubbo核心源码剖析SPI机制 2
由浅入深Dubbo核心源码剖析SPI机制
57 0
|
缓存 Dubbo Java
由浅入深Dubbo核心源码剖析SPI机制 1
由浅入深Dubbo核心源码剖析SPI机制
83 0
|
XML Dubbo 架构师
由浅入深Dubbo核心源码剖析高阶配置运用1
由浅入深Dubbo核心源码剖析高阶配置运用
82 0
|
Dubbo Java 应用服务中间件
由浅入深Dubbo核心源码剖析SpringBoot整合使用
由浅入深Dubbo核心源码剖析SpringBoot整合使用
125 0
|
监控 Dubbo Java
由浅入深Dubbo核心源码剖析环境介绍
由浅入深Dubbo核心源码剖析环境介绍
210 0
|
编解码 Dubbo 应用服务中间件
Alibaba开源Dubbo源码解析手册,竟引领出RPC的新潮流
前言 Apache Dubbo,一款由阿里巴巴于2011年开源的高性能Java RPC框架,自开源以来在业界产生了深远影响。有大量公司广泛使用,甚至很多公司的自研RPC框架中都能看到Dubbo的影子。Dubbo在国内服务化体系演进过程中扮演了重要角色。尽管经历了几年的沉寂,但在阿里巴巴重启对Dubbo的开源维护,Dubbo正在从微服务领域的高性能RPC框架逐步演变为一个完整的微服务生态。 对于开发者来说,深入了解Dubbo底层的架构设计和实现是一项挑战。因此,一份完整的、体系化的对Apache Dubbo进行深入原理剖析的手册就显得尤为重要。