韩漫免费漫画在线观看方法,《好好疼爱里面》免费看,年轻漂亮的女士护士内衣,妈妈醉酒后把我当爸爸电视剧

文章 > java教程 > java中内存模型是什么?有什么用?

java中内存模型是什么?有什么用?

头像

小妮浅浅

2021-02-18 16:29:546062浏览 · 0收藏 · 0评论

在java中提到内存很多人都会想到jvm,本篇要说的内存模型也会被误解成是这个。其实,这也是面试中比较容易出错的一个考点,内存模型的简称是jmm,相信如果是以英文名称展现还是不容易混淆的。下面我们就Java内存模型的概念进行讲解,同时帮助大家做一个它和jvm的区分。

1、概念

Java内存模型(Java Main Memory简称JMM)是一个抽象概念,和计算机的内存模型有很多相似的地方。JMM主要包括线程、工作内存、主内存三者来交互,其中工作内存可以类比计算的高速缓存,不过线程间工作内存是互相独立的;主内存类比计算机的主内存,线程间变量值传递主要是通过主内存来完成的。同时JMM也有优化代码执行顺序的指令重排序。简单的说就是代码的编写顺序不一定就是代码的执行顺序。

2、JMM与JVM的区分

Java内存模型看上去和Java内存结构(JVM内存结构)差不多,很多人会误以为两者是一回事儿,这也就导致面试过程中经常答非所为。

Java堆和方法区的区域是多个线程共享的数据区域。也就是说,多个线程可能可以操作保存在堆或者方法区中的同一个数据。这也就是我们常说的“Java的线程间通过共享内存进行通信”。

Java内存模型是根据英文Java Memory Model(JMM)翻译过来的。其实JMM并不像JVM内存结构一样是真实存在的。他只是一个抽象的概念。JSR-133: Java Memory Model and Thread Specification中描述了,JMM是和多线程相关的,他描述了一组规则或规范,这个规范定义了一个线程对共享变量的写入时对另一个线程是可见的。

那么,简单总结下,Java的多线程之间是通过共享内存进行通信的,而由于采用共享内存进行通信,在通信过程中会存在一系列如可见性、原子性、顺序性等问题,而JMM就是围绕着多线程通信以及与其相关的一系列特性而建立的模型。JMM定义了一些语法集,这些语法集映射到Java语言中就是volatile、synchronized等关键字。

以上就是java中内存模型的有关介绍,本篇侧重于基础的理论分享,大家可以重点对jmm和jvm进行区分,日后学习时也能对这两个概念更加明确。更多Java学习指路:java教程

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

《艳乳欲乱2》免费观看| 《高压监狱2》完整版 | 妈妈出轨了免费观看电视剧全集| 东北老阿姨高清免费观看电视剧| 《肉体暴力强伦轩》| 国精产品一品二品国精HTC| 被学长灌满JNG液去上课小说| 妈妈がだけの爱いたい歌词| 人马杂配MV的视频在哪里看 | 免费观看已满十八岁电视剧美国 | 非洲女人免费观看大全电视剧| 蜜汁| B站暴躁少女CSGO| 《一滴都不许漏》何泽城林荫 | 男女啪啪做爰高潮全过有多动症| 麻花传剧MV在线看免费版高清| 《男医生的特殊治疗》| 麻豆 无码 国产在线观看| 《健身房的特殊待遇》小说 | 爸爸的擎天柱让我看第二集| 国产精品国内自产拍在线播放| 成品人视频永不收费的有哪些软件 | 一边做饭一边狂躁的原因分析| 《我的妹妹想你大棒棒糖电视剧》| 舞蹈生带着小玩具练芭蕾视频| 广汇能源股吧| 妈妈总是晚上装睡配合孩子 | 公交车上被蹭水后多久自然恢复 | 脱了内裤在阳台趴着被C| 按摩师把我添高潮了6次| 小俊在雪姨身上耕耘小说免费阅读 | 白丝袜精华液抹在脚上的功效 | 私处按摩SPA养生精油| 下面的小嘴又饿了| 成全在线观看免费全集高清| 十九岁暴躁少女CSGO免费观看| 久久久综合精品一区二区三区| 尿到你肚子里好不好| 《一滴都不许漏》何泽城林萌| 国产X7X7X7X7X7 性价..| 女生胸前两颗大大的包是什么