-進程的記憶體佈局
**緩衝區(Buffer)**是指用於存儲特定大小數據的一段內存。如果數據大小大於緩衝區大小,它就會溢出。它通常會導致異常受特權提升或返回到堆棧中的代碼地址。如果正確安排輸入驗證和異常處理程序,可以有效地緩解緩衝區溢出。
**記憶體洩漏(Memory leak)**是一個常見的應用程序問題。應用程序或進程在由操作系統加載和啟動時被分配了有限的記憶體大小,也就是堆。該進程可能會請求記憶體段,但不會將它們返回給操作系統。可用內存最終用完了。性能越來越差,可能會導致進程崩潰。現代運行時框架,例如 .NET、JVM,提供垃圾收集或引用計數器來解決這個問題。
資料來源: Wentz Wu 網站
PS:此文章經過作者同意刊登 並且授權可以翻譯成中文