现在很多东西里都有了Memory,计算机里的Memory叫做内存。其实Memory在英文里边是记忆的意思,在台湾IT界也被译为记忆体,不知在大陆怎么被译成了内存。还好Sony把两岸三地划成大中华区统一管理,不然,它的Memory Stick(记忆棒)说不定会被翻译成内存条。
我时常想,我们自己的Memory是不是也和计算机的差不多呢?
记忆就像一个FIFO(先进先出)的队列,以前的事情一点点被推向记忆深处,偶尔提起了,又被放到最上边;要是到了记忆最深处还没有被提起,那么很快就会被新的事情挤出记忆了。在这个算法中没有使用优先级机制,再重要的事情只要不经常去回忆都会从记忆队列中消失,于是我们开始忘记父母的生日,开始忘记对恋人的诺言,开始忘记日本打算“解放”中国是哪一天。另一方面,一些鸡毛蒜皮的小事却总是塞到最上边,什么中午要洗衣服,什么回家时要记得去取钱,什么今天上课时看见一个男生长得像萨达姆,他旁边坐的女生长得像本拉登。当你试图去记住所有的事情时,又会OUT OF MEMORY(内存溢出)。
晚上做梦时,那些在记忆队列中间和深处的事情偶尔会彼此交流,组成一个毫无逻辑可言的事件网。你会发现原来学校食堂卖的都是铁丝和玻璃,自己选修的第二专业是吃牛肉盖饭,电视开机会进行自检,机械手表不走是因为没有装Java虚拟机。
电视剧里还会出现一种奇特的情况,就是丢失记忆。一般而言,这种记忆丢失都是选择性的,或者是关于某个人的事情,或者是一段时间的事情。就像一个骇客在你的数据库里执行了诸如“DELETE FROM Memory WHERE HappendYear > 2000 AND HappendYear < 2002”之类的SQL(结构化查询语言)语句一样。要命的是,我们还得保留数据备份,以便在电视剧快结束时恢复数据库。我觉得第一个想出“记忆丢失”剧情的人的思维一定是基于Java的,它跨越了电视剧、医学和计算机三个平台,并完成了对这些平台上资源的整合,终于创造出了一个能提高收视率的企业级应用。当然,出于这个应用有逻辑上的BUG,我们有理由怀疑该剧情是编剧晚上睡觉时,记忆队列中的事件形成的随机事件网。
如果可能,我想给自己的记忆队列算法加上优先级机制,或者至少在有记忆要丢失时弹出一个警告对话框说,“您的编号为2008的记忆即将丢失,点击确认放弃该记忆,点击取消保留该记忆,点击帮助查看关于该记忆的详细信息。”遗憾的是,我们还不知道人脑和计算机之间的数据传输接口,而且代码段放在大脑哪里也不知道,只好把队列的计算放到移动电话上,让它在特定的时间使用人体的标准输入输出设备来提醒我们。本来以为这样就万无一失了,结果上课还是迟到了,被老师骂得“狗头淋血”后,我加了一条信息到我的记忆队列:给手机充电真的很重要。