27得票1回答
在Ruby中,堆栈上存储什么?

Ruby是否将所有内容都分配在堆上,还是有一些实例存储在栈上?我认为所有变量基本上都在栈上,并包含对堆上对象的透明引用。我的想法正确吗?这个实现是特定于某个版本的吗? 此外,如果情况是变量分配在栈上并仅包含隐藏指针,那么变量本身(忽略它们指向的对象)占用多少字节? 编辑: 之所以问这个问...

76得票4回答
Swift堆和栈的理解

我想了解在Swift中存储在栈和堆中的内容。我有一个大概的估计:所有打印出来并显示内存地址而非具体值的对象都存储在栈中,所有打印出来作为具体值的对象都存储在堆中,这基本上取决于值类型和引用类型。我的理解完全错误吗?如果可以的话,能否提供栈/堆的可视化表示?

14得票1回答
如何判断某个变量是堆还是栈分配的?

我想知道有没有一种方法可以确定一个变量是在堆栈上还是在堆上分配的。 考虑以下代码:struct SomeStruct; fn main() { let some_thing = Box::new(SomeStruct); println!("{:p}", some_thin...

68得票6回答
当堆栈和堆发生冲突时会发生什么?

我很好奇当堆栈与堆发生冲突时会发生什么。如果有人遇到过这种情况,请解释一下情况。

152得票7回答
主流操作系统上C/C++程序的最大堆栈大小

我想在一个100x100的数组上进行深度优先搜索。 (假设数组元素代表图节点)。因此,假设最坏情况下,递归函数调用的深度可能会达到10000个,每个调用占用20个字节。那么这是否可行,也就是是否存在栈溢出的可能性? C/C++中堆栈的最大大小是多少? 请分别为gcc指定以下两种情况:...

33得票3回答
类的字段是存储在栈还是堆中?

昨天我看到了一个问题,它引发了我另外一个问题。请看下面的代码:public class Class1 { int A; //as I uderstand, int is value type and therefore lives in the stack } class Class2...

7得票4回答
引用变量和内存中对象的逻辑结构/细节是什么?

假设我们有一个类: class Class1 { int i = 1; } 我们有一个变量: Class1 ob1 = new Class1(); ob1变量本身存储了引用一个Class1对象的信息吗? Class1存储的堆中的部分是否存储了它是Class1类型的信息? 这...

9349得票31回答
栈和堆是什么?它们分别位于哪里?

栈和堆是什么? 它们在计算机内存中的物理位置在哪里? 它们在多大程度上受操作系统或语言运行时的控制? 它们的作用范围是什么? 是什么决定它们的大小? 是什么使它们更快?

7得票3回答
JVM如何知道方法栈中变量的位置?

这个问题可能有点傻,或者可能是一个重复的问题。我对程序引用变量时如何从堆栈中检索变量感到困惑。 一个对象存储在堆中,其位置存储在引用变量中,并且包含堆地址的引用变量本身存储在堆栈中。但是JVM如何找出该引用变量存储在堆栈的哪个位置。 为了澄清我的疑惑,让我们考虑以下示例。 Class Tes...

28得票3回答
Java堆栈内存管理

我想知道以下程序中内存是如何分配的:public class MemoryClass { public static void main(final String[] args) { int i = 0; MemoryClass memoryClass...