千峰教育质量课程面对面地教授经典的JAVA面试问题:Java内存模型,因为Java内存模型不仅是Java重点关注的技术知识,而且还是面试中的经典面试问题。我希望它将引起学生的注意。今天,前锋编辑将分享Java内存模型的相关技术知识。不同的通道具有不同的内存模型,但是jvm的内存模型标准是相同的。实际上,Java的多线程并发问题将反映在Java的内存模型中。所谓的线程安全无非就是操纵多个线程以有序的方式访问或修改资源。总结Java的内存模型,有两个主要问题需要解决:可见性和顺序。可见性:无法在多个线程之间传递数据通信。它们之间的通信只能通过共享变量进行。 Java内存模型(JMM)规定jvm具有一个主内存,该内存由多个线程共享。当目标是新目标时,它也会分配到主存储器中。每个线程都有其自己的作业存储器。作业存储器将一些目标的副本存储在主存储器中。当然,线程的作业存储器的大小是有限的。当线程在目标上操作时,执行顺序如下:(1)从主存储器仿制变量到当前作业存储器(读取和加载)(2)执行代码,更改共享变量值(使用并分配)(3)使用作业记忆数据来重写与主记忆相关的内容(存储和写入),以使自己真实地使用-用自己的良心做教育前锋教育精品课程是面对面授课的。变量在家庭作业内存中有多个线程的副本,如果一个线程修改了该共享变量,则其他线程应该能够看到修改后的值,这就是多线程的可见性问题。
井井有条:引用变量时,线程无法直接从主内存引用。如果该变量程的作业内存中不存在,它将把副本从主内存复制到作业内存。完成后,线程将引用副本。当同一线程再次引用该字段时,有可能从头开始从主内存中获取变量的副本(readload-use),或者可以直接引用原始副本(use),这意味着读取,加载后,使用顺序可以由JVM完成。解析度。线程无法直接将值分配给主内存中的字段。它将值分配给作业存储器中的变量副本(分配)。完成后,变量副本将同步到主存储区(store-write)。至于何时同步过去,则根据JVM完成系统决策。如果存在该字段,则该字段将从主存储器分配到作业存储器。此过程为读取加载。完成后,线程将引用变量的副本。知识就是财富。这句话在IT行业特别残酷。理解就是理解,如果您不理解,您就不会理解。因此,同学们,您的辛勤工作与您的财富直接相关。让我们一起努力吧!对于更多经典的Java技术面试问题,请关注前锋的编辑。忠于自己-用自己的良心进行教育

本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shoujiruanjian/article-367153-1.html
反过来也可以说就算是老船我们照样没办法