文章目录 一、内存的逻辑状态 二、闭包实现原理 一、内存的逻辑状态 在了解闭包之前,让我们简单了解下内存逻辑状态。内存空间在逻辑上分为三部分:代码区、静态数据区和动态数据区,动态数据区又分为栈区和堆区 栈内存:稳定性差,用于临时存储数据,存储数据比较快。方法中定义的变量都存放在这个区域,但存放的只是名称和指向堆内存空间的地址 堆内存:稳定性高,用于长期存储数据,存储数据的速度慢。程序运行时会创建对像,对象会被保存堆内存中,以便反复利用。 常量区:可以永久存储软件中经常使用的固定数据 资源区: 可以存储程度运行的基本资源数据,如:运行的二进制代码 下图展示了基本的变量在内存中的逻辑关系: