这是我的理解。
在 C 编程中,如果我这样做int a
了a
是在堆栈上创建的,因此内存是从堆栈中获取的。堆在这里不起作用。
但是如果我做类似的事情
int *a;
a=(int*)malloc(sizeof(int));
并动态分配内存,然后引用变量将被放置在堆栈上,但它指向的内存将在堆上。
我的理解正确吗?
现在,我拿起这本关于 java 的书,上面写着
每当您需要一个对象时,您只需编写代码以使用 new 来创建它,并且在执行该代码时在堆上分配存储空间。
那么没有办法在 Java 中的 Stack 上创建对象吗?
我想,原始数据类型仍然可以放在堆栈上,但我担心对象。