• Java内存模型


    意义

    JVM定义内存模型来屏蔽掉各种硬件与操作系统的内存访问差异,一实现让Java程序在各种平台下都能达到一致的访问效果

    字典表

    • 变量:实例字段静态字段和构成数组对象的元素等,但不包括局部变量和方法参数(线程私有)
    • 主内存:就是物理硬件的内存
    • 工作内存:每个线程都有一个工作内存,存储了使用的主内存副本拷贝,线程的操作必须在工作内存中执行,然后再返回给主内存

    内存间的操作

     

    操作解释

    1. lock:将变量锁住,在一个时间内只让一条线程使用
    2. unlock:释放变量锁
    3. read:线程把变量从主内存读到工作内存
    4. load:把read读到的内存载入
    5. use:将变量传给执行引擎使用
    6. assgin:执行引擎使用变量完成后变量赋值到工作内存
    7. store:工作内存将变量从工作内存存储到主内存
    8. write:主内存将工作内存要求store的变量写入

    使用规则

    • read与load,store与write必须成对出现
    • 变量在工作内存改变后必须同步到主内存
    • 没有assign的变量不能写回主内存
    • 工作内存不能产生新变量,所有变量都必须从主内存中获取
    • 主内存对某变量执行lock后会清空工作内存该变量的值
    • 对一个变量执行unlock之前,必须先将其同步到主内存

     参考《深入理解Java虚拟机》--p365

  • 相关阅读:
    微信小程序实战,与后台交互
    微信小程序开发笔记
    微信小程序 之页面跳转
    小程序(四):模板
    (1)Appium基础操作API
    ADB命令
    移动端测试知识概览
    计算机网络常见面试题
    pip命令
    随笔-记录一些简单内容
  • 原文地址:https://www.cnblogs.com/ming-szu/p/9462000.html
Copyright © 2020-2023  润新知