mirror of
https://github.com/krahets/hello-algo.git
synced 2026-04-13 12:19:54 +08:00
deploy
This commit is contained in:
@@ -3424,9 +3424,9 @@
|
||||
<p class="admonition-title">数组存储在栈上和存储在堆上,对时间效率和空间效率是否有影响?</p>
|
||||
<p>栈内存分配由编译器自动完成,而堆内存由程序员在代码中分配(注意,这里的栈和堆和数据结构中的栈和堆不是同一概念)。</p>
|
||||
<ol>
|
||||
<li>栈不灵活,分配的内存大小不可更改;堆相对灵活,可以动态分配内存;</li>
|
||||
<li>栈是一块比较小的内存,容易出现内存不足;堆内存很大,但是由于是动态分配,容易碎片化,管理堆内存的难度更大、成本更高;</li>
|
||||
<li>访问栈比访问堆更快,因为栈内存较小、对缓存友好,堆帧分散在很大的空间内,会出现更多的缓存未命中;</li>
|
||||
<li>栈不灵活,分配的内存大小不可更改;堆相对灵活,可以动态分配内存。</li>
|
||||
<li>栈是一块比较小的内存,容易出现内存不足;堆内存很大,但是由于是动态分配,容易碎片化,管理堆内存的难度更大、成本更高。</li>
|
||||
<li>访问栈比访问堆更快,因为栈内存较小、对缓存友好,堆帧分散在很大的空间内,会出现更多的缓存未命中。</li>
|
||||
</ol>
|
||||
</div>
|
||||
<div class="admonition question">
|
||||
|
||||
Reference in New Issue
Block a user