要记住一件事,我们可以选择直接记忆或者间接记忆,所谓直接记忆就好比问你的名字,你想都不用想就可以知道(如果想了,那问题就严重了),因为肯定是将自己的名字直接记在大脑中的。而要是问你现在是几点,一般来说你首先想到的是看一看手表(当然,现在一般都是手机了),问什么,因为你自己并不清楚现在的时间,需要借助于计时工具来提醒你,而这也就是我们通常说的间接记忆。只有当我们接触到某些人或事的时候,我们才能够记起来我们需要记忆,那么我们所依赖的这个人或事也就属于目标信息的中间节点。从记忆速度上来说,当然是直接记忆快的多,那么我们是不是应该完全靠这种记忆方式呢?如果可行,那当然好,但是人嘛,难免忘事,所以我们又不得不依赖于间接记忆。很多个信息节点连在一起,也就是一条完整的信息链,这样我们可以很轻松的记住很多很多的事,然而间接记忆又存在信息节点丢失的危险,一旦某个信息节点丢失,那么其后的所以信息也就随之丢失了。所以我们还需要将同样的信息附着在不同的信息节点上,如此一来信息链也就变成了一张信息网。从而有效的降低因某个信息节点丢失而造成的损失。

再说,我们要做一件事,首先想到的是亲历亲为,因为我们很清楚需要什么样的结果,所以能够很快明确需要做的具体事务,从效率上来说,省去了很多中间环节,从而减少了不必要的时间支出。但前提是这样的事,必须是一件很小的事,同时是自己力所能及的事,否则那就是得不偿失了。那么要是一件事超出了一个人承受能力,或者超出了他的能力范围,那么明智的选择当然是寻求第三方帮助。比如说借书,首先是找人借书,如果他有,而且又借给你了,那么这就是也就算是结束了。但如果他没有,那么你就可考虑重新找人借书,但如果你所认识的人当中都没有呢?那你就得找人帮你借书,你所找的人并没有你需要的书,所以他需要找其他人借,然后再借给你,如果他又是找人帮他借书,那么你借书这件事就变成了很长的一个事务链。同样的道理,这条事务链中任何一个节点出现问题都会导致失败的结果。为了避免失败的结果,同时找不同的人做同样的事则是不错的选择。

再谈谈人际关系,由于时间和物理上的差距使得一个人所能够直接认识的人相当有限。但是你所认识的人他除了你之外自然还认识其他的人,所以以每一人作为一个圆心,每一个和他所认识的人也就构成了一个圆圈,也就是我们所说的交际圈。而这些圆圈自然会出现交叉的情况,无数个圆圈交织在一起,最终形成一张庞大而无比负责的网,也就是我们平常所说的人际关系网。要说这张网很复杂,其实也不是那么复杂,要不怎么所世界上每两个人之间最多隔着6个人呢。

最后说说在计算机里面的应用,首先是我们所熟知的各种基本数据类型,什么int,float,double,bool啊一大堆。单个的数据类型所能够保存的信息自然无法满足我们的需要。自然而然的需要一个能够存储具有相同或者相似的数据信息的数据类型。显然,数组是一个不错的选择,在查找上,我们可以通过数组下标直接找到我们需要的哦信息。同样,我们依然可以以下标的方式直接将某个数据保存到数组的制定位置上。但是我们要想删除某个数据,或者要求每次都必须插入到数组末尾呢?让数组来完成这些工作就有点力不从心了。还好,我们还有链表,就像我们人记事或者办事一样,一个节点依赖于令一个节点,只有保持整个链表的完整性才能保证我们所存储的信息的完整性。当然,由于某一个信息节点都是直接依赖于另一个信息节点的,和其他的信息节点毫无关系,所以在查找上显得有些低效。但是反过来,如果我们需要插入或者删除,链表的表现就比数组强多了。再有无论是数组还是链表(单链表),一个信息节点最多与两个信息节点有关系,从数据的稳定性来考虑,这样的存储并不能满足我们的需要,一不小心就会造成大量的数据丢失,那怎么办?没关系,既然有了单链表,为什么我们不可以给他再加上一条链,让他变成双向链表呢?既然都有了双向链表,为什么我们不能再往上面加链呢?所以继续,让其变成一张网,自然与任意一个信息节点相关联的信息节点也就多了,所以不再担心某个信息节点丢失所带来的损失,这个信息节点丢了,还有另一个嘛。但是数组和链表上存储的都是相同或相似数据类型的信息,如果我们需要将完全没有相互关系的基本数据存储在一起呢?怎么办?没关系,我们可以用结构(Struct),可以用对象(Object)嘛。就好比几个人构成一个家庭,几个家庭构成一个部落,几个部落构成一个种族,几个种族构成一个国家………………

上面所提到的都是数据的存储,但只是存储数据没用啊,我们还得处理数据。既然要处理数据,那就得让计算机运行起来。就像前提到的借书一样,来一个任务,将将其处理掉,但要是没法处理怎么办?早期的计算机当然是无能为力的,但现在不同了,依赖于互联网,再者时下吵得很火的云计算,所以我们什么都已交给其他的计算机去处理,我们就只需要输入数据与等待结果了……然后再说处理方式,同样参照于借书,为了保证数据处理的效率和准确性等,我们当然需要同时处理不同的任务,也就是我们所熟知的多进程的操作系统。操作系统可以同时处理不同的任务(进程),而一个事务又是由各种小的任务所构成,所以进程下再有线程也就不难理解了。然而这些事务(进程)都是一个人发出的,既然操作系统能够同时处理一个人的多个任务,为什么不能同时处理多个人的多个任务呢?所以说多用户多任务的操作系统是不是更强大呢?然而仔细想想,我们又会发现,其实操作系统所提供的无论是多线程还是多进程都是伪造的,只是用户感觉不出来而已。而这一切又得力于CPU的分时处理的功能,所以对于CPU来说,他所处理的也就一个任务而已,只是我们都被他“欺骗”了。既然CPU的分时处理机制这么强大,为什么我们不能让他更强大一点,既然他都可以做出分时处理功能,那么为什么不能让其实现真正的多任务呢?一个CPU不行,那就两个,两个不行,那就再加。而现在云计算不是吵的很火吗?而我觉得真正的云计算必须实现将同一个任务拆分,放到不同的云端去同时处理,然后再将结果汇总,从而得到最终结果。如果所只是将一个任务放到云端处理,而处理的方式依然是分时处理的方式,那么这样的云计算意义并不是很大。