美文网首页
5.volatile:初识

5.volatile:初识

作者: xialedoucaicai | 来源:发表于2018-05-25 13:48 被阅读0次

前言

在看《Java多线程编程核心技术》的时候,讲到了volatile关键字,又是内存模型,又是可见性的,感觉这个关键字不简单,自己又找了其他资料,果不其然,其背后的隐藏的内容,都可以称得上由volatile引发的血案了。首先看下这个单词的意思,如下图,摘自百度翻译: volatile百度翻译

我是学完了也没理解到这个易变的/不稳定的是怎么体现的,怪不得总是说volatile关键字,而不会说"易变的"关键字,总感觉看到它的中文翻译根本联想不出来这玩意到底是干啥的。

volatile是什么?

volatile是解决多线程同步问题的一个轻量级关键字,它具有以下特性:

  1. volatile能够保证可见性
  2. volatile能够保证有序性
  3. volatile不能保证原子性

这里先给结论,后面将会对每一项都做细致的分析。
关于volatile关键字的分析,主要参考了以下资料:

  1. 你真的了解volatile关键字吗?
  2. 周志明《深入理解Java虚拟机:JVM高级特性与最佳实践》第十二章
  3. 为什么volatile不能保证原子性而Atomic可以?

我主要是做一些总结,然后加入一些自己的思考。

相关文章

  • 5.volatile:初识

    前言 我是学完了也没理解到这个易变的/不稳定的是怎么体现的,怪不得总是说volatile关键字,而不会说"易变的"...

  • 5.volatile:有序性

    1.什么是有序性 程序按照写代码的先后顺序执行,就是有序的。程序难道还能不按代码顺序执行?这就涉及到CPU的指令重...

  • 初识flutter

    初识flutter 初识flutter

  • JS原型、原型链深入理解

    目录 原型介绍 初识原型 创建规则 初识Object 初识Function "prototype"和"_proto...

  • 初识四段戏

    一月初识最是干净 二月初识上了颜色 三月初识开始斑驳 四月初识便是褪去

  • HTML之初识HTML

    一、初识HTML 目录:初识HTML、网页基本信息、网页基本标签 1.初识HTML 1)什么是HTML?Hyper...

  • vue核心

    初识Vue 搭建基础框架 初识Vue