zoukankan      html  css  js  c++  java
  • Java内存模型的简单概括

    java内存模型是java虚拟机规范中定义的关于java程序中变量的访问规则,主要目标是为了屏蔽不同硬件和操作系统对于变量访问方式的差异,在java虚拟机层面保持相同的变量访问的语义。

    java内存模型把内存分为主内存和工作内存,主内存是虚拟机内存的一部分可以认为是Java堆,工作内存是java虚拟机中每个线程自己的工作内存,可以认为是线程的栈空间。

    java虚拟机为工作内存和主内存的交互定义8种操作,8种操作之间要遵循一定的规则。

    java内存模型主要围绕着并发过程中,原子性、可见性、有序性三个特征来设计的。

    原子性主要通过是通过原子性的变量操作和锁机制来完成的。

    可见性主要通过volatile、synchronized和final来实现。

    有序性主要是通过volatile和synchronized来保证,java语言中也自带了先行发生原则,也叫happens-before原则。

    happens-before原则主要包括程序次序原则、管程锁定规则、volatile变量规则、线程启动规则、线程终止规则、线程中断规则、对象终结规则、传递性。

  • 相关阅读:
    杭电1075
    杭电1016深度搜索问题
    杭电1015
    stringstream
    向量的点乘和叉乘
    杭电1010
    FCKEditor2.6.3 配置
    JQuery实现全选 与 批量删除
    JQuery实现下拉框的选择 与当CheckBox为服务器控件时如何获取值的操作,实现全选与删除
    JS 对GridView的一些操作
  • 原文地址:https://www.cnblogs.com/liuyu7177/p/11655946.html
Copyright © 2011-2022 走看看