在内部,什么是存储在堆栈和堆?

在C#中,值类型(例如:int,float等)存储在堆栈中。 方法参数也可以存储在堆栈中。 然而,大多数其他东西都存储在堆中。 这包括列表,对象等

我想知道,CPython在内部做同样的事情吗? 它在堆栈中存储了什么内容,它堆放在什么地方?


CPython实现中的所有Python对象都堆在一起。 您可以详细Python的内存管理是如何工作这里的文档阅读:

Python中的内存管理涉及一个包含所有Python对象和数据结构的私有堆 Python内存管理器在内部确保对这个私有堆的管理。 Python内存管理器具有不同的组件,可处理各种动态存储管理方面的问题,如共享,分割,预分配或缓存。

请注意,Python本身只是一种语言,并没有说内存管理应该如何工作。 这是实施者的一个细节。


Python的运行时间只处理对象的引用(全部都在堆中):Python堆栈上的内容(作为操作数和字节码操作的结果)始终是引用 (指向其他地方的值)。

链接地址: http://www.djcxy.com/p/80431.html

上一篇: Internally, what is stored on the stack and heap?

下一篇: Project Euler 8