Java valitile 个人薄见
来源:互联网 发布:insert into 跨数据库 编辑:程序博客网 时间:2024/05/01 14:17
面试中经常会问的一个问题,一个关键字涉及的知识点其实很多。
阿里一面被问到这个问题,答得一般,这里梳理一下。
1.Java虚拟机内存模型
懂得这一点是理解valitile的关键。Java虚拟机运行时数据区图如下(盗图莫怪):
每个线程都会有专属的栈区,方法区和堆区为线程共享。
这里有个概念区分:主内存和工作内存,主内存可以理解为共享区域,工作内存为线程私有区域,工作内存的数据需要从主内存中加载。
特征:
非valitile变量,仅在第一次引用时加载
valitile变量,每一次引用都需要重新从主内存中读取加载
2.valitile保证了主内存数据对工作内存的可见性,即工作内存每次使用的数据都是主内存最新的
3.valitile无法保证线程间的可见性,所以仍然存在线程安全问题,对于存在状态依赖 的操作需要做同步处理,保持原子性。
0 0
- Java valitile 个人薄见
- 分享个人java 学习计划
- java学习个人心得
- java socket 个人理解
- java基础知识个人总结
- java线程个人总结
- java个人记录2
- java快捷键个人总结
- 个人java小结
- JAVA-NIO-个人笔记
- java的个人总结!
- java个人感想
- java的个人经验
- java的个人经验
- java的个人总结
- java的个人经验
- java的个人思路
- java服务器个人经验
- Customers Who Never Order
- 使用xib创建的自定义UIView 无法进行交互
- Windows下安装RabbitMQ plugin mangement插件
- 百度UEditor编辑器关闭抓取远程图片功能(默认开启)
- C++多继承虚函数类内部模型结构剖析
- Java valitile 个人薄见
- 关于popwindow ListView 动画,点击其他地方消失
- GreenDao的简单使用及其介绍
- 【java】序列化
- C#多屏幕显示器编程
- 基于Ofbiz的Web框架
- 关于Chrome调试中.min.js.map 404的问题
- 右键旋转物体
- 【技巧篇】解决悬浮的<header>、<footer>遮挡内容的处理技巧