国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > 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教程

关注

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

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

女教师被内谢流白浆| 《大尺度吃奶做爰》电影| 停电了同桌把我拉入怀中小说| CSGO未满十八岁能玩多久| 绝色儿媳在线观看免费版电视剧 | 欧美人与人动人物2024心理学| 姑父有力挺送小芳的背景故事| 天使萌| 澳门在线| 姨母妈9| 电影《偷吃》在线观看| 被老师摸着J勃起有14厘米| 性做爰A片春欲| 我兄弟的妈妈免费观看电视剧| 马配人的视频在线观看| 爸爸吃女儿奶奶高情商回复| 一晚上12次干到都没水了| 妈妈がだけの心に漂う| 瑜伽教练韩国| 双面玛莎| 试戏没忍住C进去了小说| 暴躁老阿姨CSGO技能推荐大全| 外国大片又大又好看的PPT| 33D蜜桃成熟| 宝贝今天可不可以不带小雨伞小说| 女生频道| 《法国空乘10》| 做一次爱下面多久才能恢复| 《如狼似虎的女人》大结局| 国内免费LOGO网站| 兜兜动漫| 一路向西在线播放| 隐私图片| 28影视网| 女性左腿又开腿肚子视频大全| 《黑人性奴2》免费观看| 134VCC影院免费观看| 《家政女孩2》免费观看| 王丽娟一夜被躁五次| 蜜桃成熟时李丽珍粤语原唱| 《军妓肉体》在线观看