怎样理解栈和堆?

14-12-05 liangshan
         

所有的那种树形的结构都称作组织结构吧:

1 组织静态源代码时的“命名空间 . 类 . 字段”类的字段也有类型,最终都划归为有限的int、bit、byte等基本类型,每一个基本类型下还有节点,基本类型下的节点是一个或一排0 1物理开关。

上面这个称作静态源代码的组织结构。

2 栈是动态运行时组织结构

栈是明显的树形结构,先进后出,一层一层的,它是动态运行时组织结构。

把这两种组织结构在一个时刻进行一次组合交叉会出来一张面。

把时间刻度尺加入就是一个体

栈是时间,栈是变化,栈是运动

堆是存放资源的地方,栈从堆中存取资源,堆是栈的状态。资源库是堆,我们的系统是栈。我们的系统启动就是往栈中压入第一层组织结构,上一层是下一层的环境,一层一层的跟一个方法体的结构没有任何差别,所有的系统必定都是树形结构的,必定都是分形的,必定都是符合构造定律的存在。

我们的系统有父系统,每一个系统都有父系统,哪怕是根系统

根系统的父系统是它自己

或者根系统的父系统是空系统。

世界为什么是空的?

宇宙没有开始,也没有结尾。

设想一个状态:这个状态没有“物质”没有“空间”没有“能量”……总之什么也没有。让我用null来代表这个状态。 显然null不会突然间改变。因为一个空的世界怎么会‘突然’生出东西来呢?null若改变就得无缘无故地生出东西。null要保持 null的状态,null要连续,这里的“状态保持”需要时间,或者说状态保持就是时间,再或者说连续性就是时间。绝对的不变的状态不存在,时间是衡量状态改变快慢的物理量。状态不能突然改变的连续的性质使null具有了时间概念。

计算机系统之所以能够存在是因为存在这么一种具有能够观察到的0 1两种状态的并可以操控的时空单元。计算机系统之所以存在是因为我们把那个时空单元物理开关按下去它就是按下去的,直到我们把它打开它才是打开着的,它不是随机的。

这是anycmd目前的理解

         

banq
2014-12-05 17:12

恩,Haskell等函数语言使用栈Stack来实现可变化的变量。