python内存管理说法错误_python面试题总结1-内存管理机制
1.python內存管理機制
(1).引用計數
(2). 垃圾回收
(3). 內存池機制
引用計數
在python中每創建一個對象,對應的會有一個引用計數,當發生賦值操作如a=b,對應的b的引用計數會自動加1,當引用的對象被清除或者函數結束時,引用計數會自動減1。
垃圾回收:
在python中使用引用計數,標記清楚,分代回收三種方式進行垃圾回收。
其中,引用計數當對象的引用計數歸0時,對象會自動被清除。標記清除機制是首先遍歷所有對象,如果對象可達,就說明有變量引用它,則標記其為可達的。如果不可達,則對其進行清除。分代回收是當對象創建時被標記為第0代,經過一次垃圾回收之后,余下的對象被標記為第1代,最高為第2代。其原理是,對象的生存期越長,月可能不是垃越。
內存池機制
ython語言雖然提供了對內存的垃圾收集機制,但實際上它將不用的內存放到內存池而不是返回給操作系統,所以就有了以下:
1 Pymalloc機制;這個主要是為了加速Python的執行效率,Python引入了一個內存池機制,用于管理,為了對小塊內存的申請和釋放。
2 Python中所有小于256個字節的對象都是依靠pymalloc分配器來實現的,而稍大的對象用的則是系統的malloc。
3 對于Python對象,比如整數、浮點數和List這些,都有自己獨立的內存池,對象間并不共享他們的內存池。換句話說就是,假設你分配并且釋放了大量的整數,那么用于緩存這些整數的內存就不能再分配給浮點數。
總結
以上是生活随笔為你收集整理的python内存管理说法错误_python面试题总结1-内存管理机制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 你认识的python有你想的那么神吗_P
- 下一篇: 无法访问本地ip_当金万维异速联无法访问