volatile、static
谈到 volatile、static 就必须说多线程。
1、一个线程在开始执行的时候,会开启一片自己的工作内存(自己线程私有),同时将主内存中的数据复制到自己 的工作内存,从此读写数据都是自己的工作内存的数据,(个人见解:其中写数据时会同步到主内存,读是读自己的工作内存的数据)
2、成员变量被volatile 修饰后,发生改变:每次读取被修饰的变量都是读取主内存中的变量,这样就实现了多线程下的可见性,相当于多个实例面对一个静态变量。
3、成员变量被static 修饰后,每个实例(不是每个线程,static不是面对线程而是面对实例 )都共享 一个主内存的数据。当多线情况下时,对 该成员的操作依然参照第1、 2 点。
转载于:https://www.cnblogs.com/abab/p/9553900.html
volatile、static相关推荐
- c语言static. volatile,嵌入式系统C语言重点语法const、volatile、static、堆栈等的意义及用法...
原标题:嵌入式系统C语言重点语法const.volatile.static.堆栈等的意义及用法 在单片机应用中,堆栈是个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场. 要点:堆, ...
- 关键字回顾(final/finally/finalize()、Synchronized、volatile、static)
1. final, finally, finalize的区别 final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承. finally是异常处理语句结构的一部分,表示总是执行 ...
- 详解static、volatile、const
1.背景 在查阅相关资料的时候,无意间看到一个大佬对于static关键字的讲解,如雷贯耳,写得非常容易理解,这是大佬的链接 本人在学习相关知识的时候,喜欢也习惯把从各种书籍或者是各位大佬的博客中学到的 ...
- Java之内存模型的基础、重排序、顺序一致性、volatile、锁、final
为什么80%的码农都做不了架构师?>>> 深入理解Java内存模型(一)--基础 深入理解Java内存模型(二)--重排序 深入理解Java内存模型(三)--顺序一致性 深入理 ...
- volatile、synchronized、(原子、可见、有序)、先行发生原则
Java代码---编译--->Java字节码---类加载器加载到JVM中--->汇编指令(在CPU上执行) Java中的并发机制依赖于JVM的实现和CPU指令 1.volatile 轻量级 ...
- Java 并发编程CAS、volatile、synchronized原理详解
CAS(CompareAndSwap) 什么是CAS? 在Java中调用的是Unsafe的如下方法来CAS修改对象int属性的值(借助C来调用CPU底层指令实现的): /*** * @param o ...
- Java自增原子性问题(测试Volatile、AtomicInteger)
这是美团一面面试官的一个问题,后来发现这是一道面试常见题,怪自己没有准备充分:i++;在多线程环境下是否存在问题?当时回答存在,接着问,那怎么解决?...好吧,我说加锁或者synchronized同步 ...
- 【腾讯阿里最全面试题】介绍下Synchronized、Volatile、CAS、AQS,以及各自的使用场景
[腾讯阿里最全面试题]介绍下Synchronized.Volatile.CAS.AQS,以及各自的使用场景(文章较长,建议收藏观看) 相关视频讲解: 面试中出现概念最高的技术-原来就是这个锁 后台开发 ...
- C++ 学习笔记之(19) new、delete表达式、RTTI(运行时类型识别)、枚举、类成员指针、嵌套类、局部类、位域、volatile、extern C
C++ 学习笔记之(19) new.delete表达式.RTTI(运行时类型识别).枚举.类成员指针.嵌套类.局部类.位域.volatile.extern C C++ 学习笔记之(19) new.de ...
最新文章
- python切片语法-详解Python 切片语法
- 单片机定时器精准定时_8051单片机(STC89C52)定时器实现10ms精准定时
- Spring Boot - 自动装配中的不可忽视的@Import
- html菜单栏点击后处于选中状态,js实现导航菜单点击切换选中时高亮状态
- 3分钟入门python_3分钟学完Python,直接从入门到精通「史上最强干货库」
- SpringBoot中使用thymeleaf时ajax请求不能回显消息
- DjangoAPP子路由
- 原码 反码 补码 详解
- 40元老年机摇身一变成“华为”手机:半年卖了7000多台?
- “大数据”有哪些具体的成功应用?
- 验证javascript错误使用Google Analytics(分析、统计)
- 好题汇总(持续更新)
- 微信小程序中图表可视化
- 毕业论文的页眉、页脚以及参考文献插入经验分享
- Oracle 数据库的PLSQL块,游标、函数,存储过程与触发器的使用方法与案例
- 《畅玩NAS》第8章 ZeroTier组建局域网
- [小说]魔王冢(35)天目
- Anbox之构建android.img(三)
- java基础系列(四)UTF-8和GBK编码的区别
- 产品宣传数据投放广告指标
热门文章
- 怎么把word里面虚线变成实线_弱电不会制作cad图,花3分钟看完,只要会用WORD保证你能画出来...
- matlab 三维图像配准,[转载]Matlab实现多种图像配准(转)
- 【FFMPEG源码终极解析】 avformat_open_input (一)
- python位置参数ppt_如何在Python中使用一个或多个相同的位置参数?
- sublime快捷键代码对齐_Python配置sublime运行环境
- matlab 万年历,matlab时钟万年历 matlab时钟万年历(附word说明文档): 
程序主要 联合开发网 - pudn.com...
- 用vs写python和c++需要哪些工具包_从运行效率与开发效率比较Python和C++
- java应用部署docker_Docker部署JavaWeb项目实战
- 工业以太网交换机的产品性能有哪些呢?
- php作菜单,PHP制作下拉透明菜单