当前位置:首页 > 内存 > 正文

java内存模型的理解

  • 内存
  • 2024-06-09 14:23:43
  • 3641

一、java内存模型有哪些JMM保证如果程序正确同步,则其执行将具有顺序一致性。
JMM设计
从JMM设计者的角度来看,设计JMM时必须考虑两个关键因素:
(01)程序员对内存模型的使用。程序员希望内存模型易于理解且易于编程。程序员希望编写基于强大的内存模型的代码(程序执行尽可能顺序)。
(02)内存模型编译器和处理器的实现。编译器和处理器希望内存模型对它们的约束尽可能少,以便它们可以进行尽可能多的优化(重新排序程序、执行尽可能多的并发)以提高性能。编译器和处理器希望实现精简内存模型。
JMM设计需要两者协调。JMM对程序采取不同的策略:
(01)对于会改变程序执行结果的重排序,JMM要求编译器和处理器禁止这种重排序。
(02)对于不改变程序执行结果的重排序,JMM对编译器和处理器没有强加要求(JMM允许这样的重排序)。


二、什么是Java内存模型?1、Java内存模型简称JMM
2。通俗地说,就是指你代码中编写的内容如何存储在内存中
3。例如,studenttu=newStudent();inta=5;您创建一个新的Student类并创建变量a。这些内容是如何存储在内存中的?
4.通常,JMM分为堆栈,类A分配在堆栈上,变量A分配在堆栈上。