了解编程时何时使用堆栈存储器以及何时使用堆存储器?

问题描述 投票:0回答:1

我最近遇到了分配给程序的内存类型-Stack and Heap。但是我们怎么知道,最好的用例是什么。如果我有可用的选项,最好使用堆栈或堆,如何在编程时知道它们?我通读了许多文章以寻找解决方案,但找不到满意的答案。

c++ memory heap-memory stack-memory
1个回答
-1
投票

[每当创建对象时,它总是存储在堆空间中,并且堆栈存储器包含对该对象的引用。堆栈内存仅包含局部原始变量和堆空间中对象的引用变量。堆中存储的对象可以全局访问,而其他线程则不能访问堆栈内存。当堆栈内存已满时,Java运行时将引发java.lang.StackOverFlowError,而如果堆内存已满,则将引发java.lang.OutOfMemoryError:Java堆空间错误。与堆内存相比,堆栈内存的大小要小得多。由于内存分配(LIFO)的简单性,与堆内存相比,堆栈内存非常快。

© www.soinside.com 2019 - 2024. All rights reserved.