java 局部性原理_程序局部性原理

程序局部性原理

本文目的:使读者快速理解

本文定位:学习笔记

学习过程记录,加深理解,提升文字组合表达能力。也希望能给学习的同学一些灵感

程序局部性原理

程序的局部性原理是指程序在执行时呈现出局部性规律,即在一段时间内,整个程序的执行仅限于程序中的某一部分。它们倾向于引用的数据项邻近于其他最近引用过的数据项,或者邻近于最近自我引用过的数据项。

在现代计算机系统的各个层次,从硬件到操作系统、应用程序等,设计上都利用了局部性原理。比如缓存机制,CPU指令顺序处理等。

局部性通常有两种形式:时间局部性和空间局部性

时间局部性(temporal locality)

时间局部性是指如果程序中的某条指令一旦执行,则不久之后该指令可能再次被执行;如果某数据被访问,则不久之后该数据可能再次被访问。强调数据的重复访问。

利用时间局部性,缓存在现代程序系统中扮演着重要角色,数据缓存,磁盘缓存,文件缓存等,极大提高数据的重复访问性能。而在程序设计中,循环体则是时间局部性常见的一个场景

空间局部性(spatial locality)

空间局部性是指一旦程序访问了某个存储单元,则不久之后。其附近的存储单元也将被访问。强调连续空间数据的访问,一般顺序访问每个元素(步长为1)时具有最好的空间局部性,步长越大,空间局部性越差

参考

对本文有什么建议(内容、写作风格等),欢迎留言提出,感谢!

转载至链接:https://my.oschina.net/lichuangnk/blog/1830249

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值