【正本清源】LRU到底什么意思?

缘起

我们经常听说LRU或者LRU算法,它在操作系统的内存管理和Redis里面经常被提到,其原理大家都懂,可是它的中文翻译非常之迷人,让我时常怀疑我的理解能力。

下面我们分析下,找到它的真正含义,最后我们再作一下思考!

求索

--------------------------------------------------------------------------------

LRU替换策略:一般翻译为“最近最少被使用替换策略”,也有人称为“最近最久未使用替换策略”。

LRU的英文全文为least recently uesed,我们先通过英文和中文字面意思理解一下其含义

  1. 英文:least-最少 recently-近期 => 最近使用 => 最近使用的替换算法,可是应该被替换的是最久未被使用的呀!?为什么中文的意思是这样的?
  2. 中文:最近最少被使用替换算法,我还是这个疑问:可是应该被替换的是最久未被使用的啊!
  3. 最近最久未使用:这个意思倒是接近了,但是英文里可没有“未使用

或许有些固定用语我不知道,那么我尝试查查least recently这个短语,可是字典没有least recently这个短语的解释,但是有more recently的解释-->最近,所以least recently是more recently的反义词,也就是最不近,大约也就是最久(或者更准确些,最久远)被使用,这下通顺了。

所以它应该被翻译为:“最久远被使用替换策略”

含义也很直观:最先被淘汰的是那些使用时间离现在最久远的

遐思

经过上面的求索,我不禁陷入了沉思。

按说计算机科学是非常讲究精确性的,所以我先假设英文是准确反映了原始意图的(其实CS领域的大牛有时候起名字也经常很随意,让大家理解起来颇为费劲),那么为什么我理解这个词就那么费劲呢?

  1. 我理解能力实在是太有限了,对于文字的理解要反复思考。可是我自我感觉只要正常的中文我都能顺利理解,智力虽不优秀,但是经过努力,还算是个有文化的人。
  2. 中文翻译不准确,以致谬种流传。

我不想自我否定,所以我认为,是中文翻译有问题,但是如果这样的话,我是越想越惊恐

  1. 当初翻译的人望文生义,英语不咋地,并且还没有CS知识,翻译完了还不进行自审
  2. 进行校对,审核的人都是摆设,没有起到作用
  3. 读者囫囵吞枣,反正以后也用不到,考试过去即可
  4. 教授讲师没有跟学生强调这个翻译的问题,以致谬种愈发流传
  5. 工业界和学术界似乎也不太在意这个,最终没有抑制谬种流传

不过值得欣慰的是,至少还有“最近最久未使用替换策略”这种翻译,只是这种翻译还是欠一点点“信达雅”!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值