Java内存模型

Java内存模型(JMM)旨在屏蔽不同硬件和操作系统的内存访问差异,确保Java程序在各种平台下具有统一的内存访问效果。它定义了变量的访问规则,确保线程间变量的可见性、有序性。JMM中,主内存存储所有变量,工作内存保存线程的变量副本。内存间交互包括lock、unlock、read、load、use、assign、store和write等操作,其中volatile变量提供可见性但不保证原子性。JMM通过先行发生原则(happens-before)来保证操作的顺序性,确保并发执行的正确性。
摘要由CSDN通过智能技术生成

概述

  衡量一个服务性能的高低好坏,每秒事务处理数(Transactions Per Second,TPS)  是最重要的指标之一,它代表着一秒内服务器平均能响应的请求总数,而TPS值与程序的并发能力又有非常密切的关系。

  Java内存模型(Java Memory Model,JMM)用来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果。Java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节。

  C/C++:直接使用了物理硬件和操作系统的内存模型。


硬件的效率与一致性

  绝大多数的运算任务都不可能只靠处理器“计算”就能完成,处理器至少要与内存交互,如读取运算速度、存储运算结果等,这个I/O操作是很难消除的(无法仅靠寄存器来完成所有运算任务)。由于计算机的存储设备(慢)与处理器的运算速度(快)有几个数量级的差距,所以现代计算机系统都不得不加入一层读写速度尽可能接近处理器运算速度的高速缓存(Cache)来作为内存与处理器之间的缓冲:将运算需要使用到的数据复制到缓存中,让运算能快速进行,当运算结束后再从缓存同步回内存之中,这样处理器就无

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值