我最近遇到了分配给程序的内存类型-Stack and Heap。但是我们怎么知道,最好的用例是什么。如果我有可用的选项,最好使用堆栈或堆,如何在编程时知道它们?我通读了许多文章以寻找解决方案,但找不到满意的答案。
[每当创建对象时,它总是存储在堆空间中,并且堆栈存储器包含对该对象的引用。堆栈内存仅包含局部原始变量和堆空间中对象的引用变量。堆中存储的对象可以全局访问,而其他线程则不能访问堆栈内存。当堆栈内存已满时,Java运行时将引发java.lang.StackOverFlowError,而如果堆内存已满,则将引发java.lang.OutOfMemoryError:Java堆空间错误。与堆内存相比,堆栈内存的大小要小得多。由于内存分配(LIFO)的简单性,与堆内存相比,堆栈内存非常快。