国产成人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教程

关注

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

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

《诱人的女房东3》| 朋友的妈妈| 《蜜桃成熟时》无删减版| 老人船上弄雨荷1一5节| 人犬兽人高清版在线观看 | SNH48欧洲码和亚洲码图片| 《法国空乘4》在线观看| 摸摸大扔子的视频大全| 绝美儿媳妇林曼晏| 两人一起做AJ的视频教程| 无法抗拒的你ID中字 | 下面的小嘴又饿了| 妈妈的职业4免费观看完整版高清| 樱花视频在线观看免费高清电视剧 | 初中女生光溜溜身子| 《艳妻互换》完整版| 翁和媳小莹浴室欢爱52章| 窝窝影院在线观看免费播放电视剧| 胚根的作用| 《厨房激战5》完整版在线观看| 伦理《少妇的滋味》完整版| 快拔出来老师要怀孕了| 小俊在雪姨身上耕耘小说免费阅读 | 《老公今晚我加班》免费阅读| WWW.麻豆都传媒| 男女主亲密缠绕的画面真人版| 美国色情巜教练和女警官视频| 丫头把腿开大让我添添| 啪啪影院| 熟母10和熟母10的区别| 双男主做酱酱酿酿视频大全真人版 | 免费观看60分钟高清电视剧| WWW.MD.GOVCN| 《被按摩的人妻4》| 缘之空第一季在线观看免费完整番..| 奶牛厂| 双男主高干文小说| 男生困困进女生困困洞视频| 被同桌没戴套干了春雨医生 | 元山はるか| 《黏糊糊的你》动漫免费观看