关于vue.js:Python如何进行内存管理

Python中次要通过援用计数和内存池机制进行内存治理。

  一、援用计数机制

  Python外部应用援用计数(记录对象有多少个援用)来放弃追踪内存中的对象,当对象被创立时,该对象的援用计数加1;当对象被销毁时,该对象的援用计数变为0,它会被当做垃圾进行回收。

   援用计数减少的状况:

  (1)对象被创立,如x=4。

  (2)赋值给其它游戏变量,如y=x。

  (3)被作为参数传递给函数,如foo(x)。

  (4)作为容器对象的一个元素,如a=[1,x,’33’]。

   援用计数缩小的状况

  (1)对象的援用来到它的作用域,比方, foo(x)函数执行完结时,x援用的对象援用计数减1。

  (2)对象的援用被显式地销毁,如del x或del y。

  (3)对象的别名被赋值给其余对象,x=789。

  (4)对象从窗口对象中被移除,www.sangpi.coma.remove(x)。

   垃圾回收:

  (1)垃圾收集器会回收援用计数为0的对象,并革除这些对象占用的内存空间。

  (2)当两个对象互相援用时,若它们没有被其它援用所持有,则会被垃圾收集器回收。

  (3)垃圾回收机制还有一个循环垃圾回收器,它能够确保开释循环援用对象(a援用b, b援用a)。

   二、内存池机制
  在Python中,很多时候申请的内存都是小块内存,这些小块内存在申请不久后又会被开释,这就意味着程序在运行期间会大量地执行申请和开释操作,影响Python的执行效率。为了放慢Python的执行效率,Python引入了一个内存池机制,用于治理对小块内存的申请和开释。

  Python中所有小于256个字节的对象都应用内存池的分配器。另外,一些Python对象,如整数、浮点数或列表,都领有独立的内存池,对象之间不会共享这些独立的内存池。也就是说,若调配又开释了大量的整数,用于缓存这些整数的内存池将不再调配给浮点数。

  Python如何进行内存治理?下面曾经为大家做了具体的介绍, 心愿能帮到大家。

【腾讯云】轻量 2核2G4M,首年65元

阿里云限时活动-云数据库 RDS MySQL  1核2G配置 1.88/月 速抢

本文由乐趣区整理发布,转载请注明出处,谢谢。

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据