温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
好,同学们,我们继续,接下来我们给大家介绍一下g mm Java内存模型的学术上的定义啊,前面呢,算是一种入门的小白型的一种讲解你就明白了,有这么一种理念和规约,让CPU和主内存他们之间通过高速缓存能够快速的访问屏蔽各种。操作内存的差异,那么好,也通过CPU的三级缓存给大家介绍了,确实存在寄存器和缓存之间,内存之间有这些东西,那下面我们的问题是能不能。拆开我的电脑,手上摸到这个GMM呢,就像是内存条一样的实在的东西,能看到吗?答案是不可以,为什么来?所以GMM它本身是一种什么抽象的概念?既然是抽象,是不是不能被实例化?不实在,没有实体并不真实存在。它仅仅描述的是一组约定或者规范。通过这组规范定义的程序中,尤其是高并发多线程下面各个变量的读写访问方式,并决定一个线程对共享变量的写入、核实,以及如何变成对另外一个线程。可见关键技术点都是围绕着高并发多线程的原子可见、有序、GMM3大特性展开。
01:22
OK,这段话极其重要,所以说,请同学们务必拿出小本,可以写一遍好。下面听我讲GMM呢,我们已经说过了,它呢。是一种抽象的概念啊,作用就是希望各种程序在各个操作系统上对内CPU和内存之间的访问高并发,下面涉及到各个变量的读写访问。以及对共享变量的写入核实。可用,以及何时变成对另一个线程可见,那么有这么一套规范来给大家做了一种约定和相关的一种描述,大家都遵守,好比在中国,只要你讲普通话,国语应该在中国大陆范围以内,应该是畅通无阻的,对吧?那么所以说GMM它的作用就是这样,只是一种抽象的规范和理念,大家都来遵守,保证了高并发多线程下面对变量的访问和对内存的访问,减少它们的差异性,那么围绕着都是多线程的原子。
02:25
可见有序性展开的,那么这个就是GM希望大家高并发情况下访问数据变量,访问内存所做到的三个特性,那么界面末它定义出来它能干什么呢?第一个。通过这种内存模型,也就是说现在你就不用跟我讲是Windows系统这个CPU核对内存的访问怎么怎么的,跟系统没关系,你只要是什么。呃,要CPU和访问内存都要遵守这套规范,尤其是多线程高频发展的情况下,那么它来实现了线程和主内存之间的什么抽象光线,哎,然后呢,屏蔽掉各个硬件平台和操作系统的内存访问差异,再次强调它是一种内存模型,以实现让Java程序在各个平台下都能达到一致的内存访问效果。说白了,天上飞的理念必然有落地的实现需要有。
03:17
三要有它突破口和维度,就是这三个一句话,原子可见和有趣性。OK,所以说呢,在这一讲,请大家务必了解GMM的学术定义和规范。
我来说两句