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变量规则、线程启动规则、线程终止规则、线程中断规则、对象终结规则、传递性。

  • 相关阅读:
    oracle执行.sql文件
    rematch的基本用法
    dva的基本用法
    redux-saga基本用法
    react-redux的基本用法
    redux的基本概念
    mobx基本概念
    centos 编译安装Apache 2.4
    javascript动态添加一组input
    php配置文件语法
  • 原文地址:https://www.cnblogs.com/liuyu7177/p/11655946.html
Copyright © 2011-2022 走看看