Static mode
- 存储在heap中
- 在程序执行期内 entity至多attach一个运行时对象
- Entity是指属性、参数、 局部变量和结果等在代码中的名字,其值为对象或对对象的引用
- 该技术在程序加载时或开始时一劳永逸地为所有对象分 配空间(并将它们附加到相应的实体)
- 不支持递归
- 不支持动态创建数据结构
Stack-based mode - 栈是存储方法调用和局部变量的地方。
- 如果一个方法被调用时,其栈帧将在调用堆栈的顶部。栈帧保存方法的状态,包括正在执行的代码行和所有局部变量的值。
- 栈顶部的方法始终是该堆栈的当前运行方法。
- 一个entity在运行时 可以先后attach多个对象,运行时机制以堆栈中的后进先出顺序分配和释放这 些对象。
- 当一个对象被释放时,相应的entity会再次attach到之前attached的对象 (如果有的话)。
-
Heap-based mode
▪ 将内存分为多份,每份保存 对象或未使用
▪ 也