Java内存区域与内存模型

    Java虚拟机规范中视图定义一种Java内存模型(Java Memory Model,JMM)来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果。在此之前,主流程序语言(如C)直接使用物理硬件和操作系统的内存模型,因此会由于不同平台上内存模型的差异,有可能导致程序在一套平台上并发完全正常,而在另外一套平台上并发访问却经常出现异常,因此在某些场景就必须针对不同的平台来编写程序。

    2004年JDK1.5发布后,Java内存模型已经成熟和完善起来了。

    Java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节。

    Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。

Java内存区域与内存模型_第1张图片
图片发自App

你可能感兴趣的:(Java内存区域与内存模型)