ag真人在线

首页 > 正文

Java开发纯干货:Java内存模型应该掌握哪些内容?

www.chelseapullano.com2019-08-18

广州前锋2011.3.70我想分享

因为Java内存模型不仅是Java需要学习的技术知识,也是访谈中的经典访谈问题。这是一个必须掌握的知识点。今天,前锋广州Java培训教师将分享Java内存模型的相关技术知识。我希望每个人都能提供帮助。

image.php?url=0MmkeZrgoi

可见性和秩序。

可见性:多个线程之间的数据通信是不可能的,它们之间的通信只能通过共享变量来完成。 Java内存模型(JMM)指定jvm具有主内存,主内存由多个线程共享。当一个新目标也分配在主内存中时,每个线程都有自己的作业内存,作业内存存储一些主内存的副本,当然,线程的作业内存大小是有限的。当线程在目标上运行时,履行的顺序如下:

(1)从主内存克隆变量到当前作业内存(读取和加载)

(2)执行代码并更改共享变量的值(使用和分配)

(3)用作业存储器数据重写与主存储器相关的内容(存储和写入)

当共享变量在多个线程的作业内存中有副本时,如果线程修改了共享变量,则其他线程应该能够看到修改后的值。这是多线程的可见性问题。

顺序:当引用变量时,线程不能直接从主存储器引用。如果线程作业存储器中没有这样的变量,则副本将从主存储器复制到作业存储器,并且线程将在完成后引用该副本。当同一个线程重新提交字段时,可以从主存储器中获取变量的副本(read-load-use),也可以直接引用原始副本(use),即JVM可以使用读取,加载,使用顺序。完成系统分辨率。

线程无法直接为主存储器中的字段赋值。它为作业内存中变量的副本赋值。完成后,变量的副本将同步到主存储(store-write)。 JVM完成系统解析。如果存在此字段,则该字段将从主存储器分配给作业存储器。该过程是读取加载的,并且线程将在完成后引用变量的副本。

知识就是财富,这句话在IT行业尤为真实和残酷,知道就是明白,不明白是不懂,所以学生,你的努力与否直接挂钩你的财富。

收集报告投诉

因为Java内存模型不仅是Java需要学习的技术知?叮彩欠锰钢械木浞锰肝侍狻U馐且桓霰匦胝莆盏闹兜恪=裉欤胺婀阒軯ava培训教师将分享Java内存模型的相关技术知识。我希望每个人都能提供帮助。

image.php?url=0MmkeZrgoi

可见性和秩序。

可见性:多个线程之间的数据通信是不可能的,它们之间的通信只能通过共享变量来完成。 Java内存模型(JMM)指定jvm具有主内存,主内存由多个线程共享。当一个新目标也分配在主内存中时,每个线程都有自己的作业内存,作业内存存储一些主内存的副本,当然,线程的作业内存大小是有限的。当线程在目标上运行时,履行的顺序如下:

(1)从主内存克隆变量到当前作业内存(读取和加载)

(2)执行代码并更改共享变量的值(使用和分配)

(3)用作业存储器数据重写与主存储器相关的内容(存储和写入)

当共享变量在多个线程的作业内存中有副本时,如果线程修改了共享变量,则其他线程应该能够看到修改后的值。这是多线程的可见性问题。

顺序:当引用变量时,线程不能直接从主存储器引用。如果线程作业存储器中没有这样的变量,则副本将从主存储器复制到作业存储器,并且线程将在完成后引用该副本。当同一个线程重新提交字段时,可以从主存储器中获取变量的副本(read-load-use),也可以直接引用原始副本(use),即JVM可以使用读取,加载,使用顺序。完成系统分辨率。

线程无法直接为主存储器中的字段赋值。它为作业内存中变量的副本赋值。完成后,变量的副本将同步到主存储(store-write)。 JVM完成系统解析。如果存在此字段,则该字段将从主存储器分配给作业存储器。该过程是读取加载的,并且线程将在完成后引用变量的副本。

知识就是财富,这句话在IT行业尤为真实和残酷,知道就是明白,不明白是不懂,所以学生,你的努力与否直接挂钩你的财富。

热门浏览
热门排行榜
热门标签
日期归档