概述
java虛擬機分爲線程共享區和線程私有區,共享區包括堆,方法區,私有區域包括程序計數器,虛擬機棧,本地方法棧,共享區是所有線程共享,私有區是每個線程獨自擁有,java內存模型可以理解成一套規則,這套規則規定了私有區和共享區之間如何進行數據交互,保證數據正確交互
八種操作
鎖定
作用於主內存,把主內存的變量標記爲某個線程獨享
讀取
把主內存中的變量讀取出來
載入
把讀取的變量存放到工作線程副本中
使用
工作內存中的值傳遞給線程進行使用
賦值
線程修改工作內存中的變量值
存儲
把工作線程變量的副本讀取出來
寫入
把從工作線程中讀取的變量副本更新到主內存
解鎖
把主內存中處於鎖定狀態的變量解鎖