zoukankan      html  css  js  c++  java
  • volatile关键字

    Volatile是Java虚拟机提供的轻量级的同步机制(三大特性)

    • 保证可见性
    • 不保证原子性
    • 禁止指令重排

    java内存模型中的两大模型是啥?

    • 主内存
      • java堆中对象实例数据部分
      • 对应于物理硬件的内存
    • 工作内存
      • java栈中的部分区域
      • 优先存储于寄存器和高速缓存

    内存模型的三大特性

    • 可见性:(当一个线程修改了共享变量的值时,其他线程能够立即得知这个修改)
    • 原子性:(一个操作或一系列操作是不可分割的,要么同时成功,要么同时失败)
    • 有序性:(变量赋值操作的顺序与程序代码中的执行顺序一致)

    volatile和synchronzied的区别

    • volatile只能修饰实例变量和类变量,synchronized可以修饰方法和代码块。
    • volatile不保证原子性,而synchronized保证原子性
    • volatile 不会造成阻塞,而synchronized可能会造成阻塞
    • volatile 轻量级锁,synchronized重量级锁
    • volatile 和synchronized都保证了可见性和有序性
  • 相关阅读:
    html例题——简历
    求值
    c#语句实例(排大小)
    3.6语言基础笔记
    2016.3.5进制间的转换
    3.26-1
    3.23(网页)
    3.23
    3.22
    3.20
  • 原文地址:https://www.cnblogs.com/zchok/p/13589381.html
Copyright © 2011-2022 走看看