知人口面不知心

Java3y

共 1226字,需浏览 3分钟

 ·

2021-07-08 23:48

《对线面试官》系列目前已经连载27篇啦!有深度风趣的系列!

今日内容总结

为什么存在Java内存模型:Java为了屏蔽硬件和操作系统访问内存的各种差异,提出了「Java内存模型」的规范,保证了Java程序在各种平台下对内存的访问都能得到一致效果

Java内存模型抽象结构:线程之间的「共享变量」存储在「主内存」中,每个线程都有自己私有的「本地内存」,「本地内存」存储了该线程以读/写共享变量的副本。线程对变量的所有操作都必须在「本地内存」进行,而「不能直接读写主内存」的变量

happen-before规则:Java内存模型规定在某些场景下(一共8条),前面一个操作的结果对后续操作必须是可见的。这8条规则成为happen-before规则

volatile:volatile是Java的关键字,修饰的变量是可见性且有序的(不会被重排序)。可见性&&有序性由Java内存模型定义的「内存屏障」完成,实际HotSpot虚拟机实现Java内存模型规范,汇编底层是通过Lock指令来实现。

文章以纯面试的角度去讲解,所以有很多的细节是未铺垫的。

鉴于很多同学反馈没看懂【对线面试官】系列,基础相关的知识我确实写过文章讲解过啦,但有的同学就是不爱去翻。

我把这些上传到网盘,你们有需要直接下载就好了。

怎样偷偷努力 惊艳所有人?

扫码关注【面试造火箭
关注后回复「888」还可获取网盘地址哟!
标题由朋友圈小伙伴提供思路封面由群友投稿提供
(封面跟文章标题没有任何关系!)



浏览 19
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报