JAVA 内存模型论文解读(1)

在学习JAVA多线程时,发现多线程内容是建立在JAVA内存模型上的。JAVA内存模型的上次主要更改在JAVA 5版本。附上两个资料链接。其中包含一个内存模型论文,有时间将会在本篇博客或者另外的博客慢慢更新。

https://www.cs.umd.edu/~pugh/java/memoryModel/

https://dl.acm.org/doi/abs/10.1145/1047659.1040336

每个系统的硬件软件接口可以通过多线程访问共享内存的都需要一个内存模型。

  • 对于机器语言来说,内存模型会决定硬件的优化操作。
  • 对于高级语言来说,内存模型 会影响编译器生成字节码,虚拟机如如何使用字节码生成native code,还有硬件会如何优化native code。
  • 对于程序员来说,内存模型决定了如何编写程序才是正确的。

在04年之前已经有了很多对内存模型的研究,但是他们都在硬件层面而非在编程语言层面。

相比于硬件层面,编程语言层面主要面临下面两个困难:

  • 编程语言自身有很强的安全性和保障性的属性需要被遵守
  • 编译器执行全局的能力,为了改造程序而进行的微妙分析本质上是无限的,而硬件系统往往使用

执行优化的范围更加有限。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值