谈到 volatile、static 就必须说多线程。

1、一个线程在开始执行的时候,会开启一片自己的工作内存(自己线程私有),同时将主内存中的数据复制到自己 的工作内存,从此读写数据都是自己的工作内存的数据,(个人见解:其中写数据时会同步到主内存,读是读自己的工作内存的数据)

2、成员变量被volatile 修饰后,发生改变:每次读取被修饰的变量都是读取主内存中的变量,这样就实现了多线程下的可见性,相当于多个实例面对一个静态变量。

3、成员变量被static 修饰后,每个实例(不是每个线程,static不是面对线程而是面对实例 )都共享 一个主内存的数据。当多线情况下时,对 该成员的操作依然参照第1、 2 点。

最新文章

  1. H5 表格标签的其它标签
  2. 安卓ApiDemos最简单的使用方法
  3. [Django 2]第一个django应用
  4. 非对称加密算法--DH
  5. Java输入一行数据并转存到数组中
  6. Zlib 在windows上的编译
  7. mac 下 chrome 语言环境 设置
  8. Android Service和Thread的关系
  9. CListCtrl总结.xml
  10. Android SurfaceView 绘图覆盖刷新及脏矩形刷新方法
  11. Django中国|Django中文社区——python、django爱好者交流社区
  12. :after/:before使用技巧
  13. linux grep 和 sed使用
  14. Jmeter——HTTP协议的接口压力测试环境搭建
  15. WordCount 3
  16. scrapy -->CrawlSpider 介绍
  17. ubuntu部署git
  18. 蒙特卡洛(Monte Carlo)法求定积分
  19. 猫眼电影爬取(三):requests+pyquery,并将数据存储到mysql数据库
  20. Nett的Http表头赋值

热门文章

  1. numpy数组属性查看及断言
  2. PyCharm2018 安装及破解方法
  3. Newtonsoft.Json 动态解析 json字符串
  4. 【Leetcode】【Medium】Add Two Numbers
  5. C# Razor 小笔记和某些细节
  6. windows下sqli-labs的搭建及学习(GET篇)
  7. Xcode 下载地址 与Macos版本要求
  8. vector中删除的注意事项
  9. c/c++ 中#ifndef和#endif的作用及使用
  10. 设置python的默认编码方式为utf-8