只有基本类型会有可见性问题吗

来源:12-12 概念的抽象

崇拜者_

2021-01-25

老师,有两个问题请教一下。
1.这里给的例子都是基本类型,基本类型是存放在jvm的栈里,是每个线程私有的,然后工作缓存是每个线程私有的,所以工作缓存是放在栈里?
2.如果是对象的实例(存放在堆),堆是一个线程之间共享的区域,是否不存在可见性问题?若存在可见性问题,那实例的缓存是存放在栈还是堆?

写回答

1回答

悟空

2021-01-26

无论堆栈,都有可见性问题。

下图写了工作缓存和JVM内存的关系:

//img.mukewang.com/szimg/600fbed10938448808170384.jpg

详见:http://tutorials.jenkov.com/java-concurrency/java-memory-model.html#javas-logic-memory-model

0
0

线程八大核心+Java并发原理及企业级并发解决方案

完整的并发知识网络+丰富的工作内容分享+50余道并发高频面试题

2512 学习 · 939 问题

查看课程