JMM 内存问题

问题描述

  • JMM:线程对共享变量的所有操作都必须在自己的工作内存中进行,不能直接在主内存中读写;
  • 这是否意味着所有变量都在主内存中有一份,在各个工作内存中又有一份,变量真实所占用空间只有一半

我期待的结果是什么?

  • 得到给java程序分配8G,是否只能使用大概4G,因为工作内存中有拷贝,如果不是,真实情况是怎么样的
阅读 2.1k
1 个回答

我理解应该是动态分配的,也就是只有需要在多线程环境下使用的变量才有一份拷贝。所以会有冗余,但不是只能使用一半这么夸张。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题