我知道堆內存是RAM的一部分。 但是堆棧內存也ram或堆棧內存的一部分是cpu寄存器的一部分。 .net4.0應用程序的堆棧內存的默認大小是多少?堆棧內存位置
Q
堆棧內存位置
0
A
回答
1
堆棧內存是RAM的一部分。就計算機而言,它與堆沒有區別。它只用於不同的方式。
0
通常情況下,程序代碼空間和堆內存是從內存空間底部(從零開始)分配的。通常,堆棧從內存空間的最頂端開始向下擴展。初始堆棧大小可以非常小(一頁),因爲當你超出它的時候,就會發生頁面錯誤,並且操作系統可以分配更多的空間,向下增長。順便提一下,在64位x86處理器中,64位地址空間中間有一個很大的「間隙」,因爲機器沒有實現完整的64位尋址。請參閱this on wikipedia。
相關問題
- 1. 多個堆棧和堆放在虛擬內存中的位置?
- 2. 內存分配,堆棧和堆棧
- 3. 棧和堆內存
- 4. 堆棧溢出 - 緩衝區的內存位置
- 5. 棧和堆上的內存位置模式
- 6. AngularJS $位置歷史堆棧
- 7. 爲相對位置/堆棧
- 8. openCL堆棧位置(遞歸)
- 9. 堆棧內存的iostream
- 10. .NET堆棧內存限制
- 11. 堆棧幀內存分配
- 12. C堆棧內存佈局
- 13. Android中的堆棧內存
- 14. 的memcpy堆棧內存
- 15. 在堆棧或堆內存中創建線程對象的位置?
- 16. 堆棧和堆棧內存存儲在C++
- 17. C程序的堆棧和堆內存
- 18. Java堆和堆棧內存分配
- 19. 堆棧和堆內存的影響?
- 20. Linux內核中的堆棧內存
- 21. C++堆棧內存和CPU緩存
- 22. 在堆棧內存中存儲引用
- 23. 關於堆棧和堆棧內存使用的問題
- 24. 內存中的堆棧實際上是一個堆棧嗎?
- 25. WebAssembly堆棧/堆棧指針初始化和內存佈局
- 26. 其他內存區域(堆棧和堆棧除外)?
- 27. 保存堆棧?
- 28. 堆棧設置
- 29. 堆棧溢出的C變量位置
- 30. 在堆棧上放置64位地址
然後,從堆棧訪問數據的方式比較容易。 – 2011-04-29 09:27:40
http://en.wikibooks.org/wiki/Microprocessor_Design/Computer_Architecture – 2011-04-29 09:32:08
@slash shogdhe:在棧上_allocate_通常比較便宜,因爲它只是遞增指針,而在堆上通常使用更復雜的內存分配方案。堆棧中的對象也更有可能在緩存中可用。 – hammar 2011-04-29 09:40:37