专栏名称: Java核心技术
菜鸟架构,精选各种互联网架构落地方案和技术干货。
今天看啥  ›  专栏  ›  Java核心技术

天呐!局部变量居然是线程安全的?

Java核心技术  · 公众号  ·  · 2020-11-04 11:00
原文:cnblogs.com/myworld7/p/12264504.html「前言」方法中的变量(即局部变量)是不存在数据竞争(Data Race)的,也是线程安全的。为了理解为什么,我们先来了一下方法是如何被执行的,然后再分析局部变量的安全性,最后再介绍利用局部变量不会共享的特点而产生的解决并发问题的一些技术。「方法是如何被执行的」int a = 7;  int[] b = fibonacci(a);  int[] c = b;以上代码转换成CPU指令执行,方法的调用过程示意图如下:(图来自参考[1])当调用fibonacci(a)时,CPU要先找到方法fibonacci()的地址(在CPU堆栈寄存器中),然后跳转到这个地址去执行代码(蓝色线),最后CPU执行完方法,再返回原来调用方法的下一条语句(红色线)。CPU找调用方法的参数和返回地址,是通过堆栈 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照