当前位置: 首页 > news >正文

挂机宝做网站厦门seo排名优化公司

挂机宝做网站,厦门seo排名优化公司,做网站导航按钮怎么做,公司做的网站入哪个会计科目目录 一、理论 1.Python垃圾回收机制 一、理论 1.Python垃圾回收机制 (1)引⽤计数器 1)环状双向链表 refchain 在python程序中创建的任何对象都会放在refchain链表中。 name "david" age 20 hobby ["篮球",游泳…

目录

一、理论

1.Python垃圾回收机制




一、理论

1.Python垃圾回收机制

(1)引⽤计数器

1)环状双向链表 refchain
在python程序中创建的任何对象都会放在refchain链表中。

name = "david"
age = 20
hobby = ["篮球",'游泳']
内部会创建⼀些数据【 上⼀个对象、下⼀个对象、类型、引⽤个数 】
name = "david"
new = name内部会创建⼀些数据【 上⼀个对象、下⼀个对象、类型、引⽤个数、val=18】
age = 20内部会创建⼀些数据【 上⼀个对象、下⼀个对象、类型、引⽤个数、items=元素、元素个数 】
hobby = ["篮球",'游泳']


在C源码中如何体现每个对象中都有的相同的值:PyObject结构体(4个值)。
有多个元素组成的对象:PyObject结构体(4个值) + ob_size 。

2)类型封装结构体

data = 3.14内部会创建:_ob_next = refchain中的上⼀个对象_ob_prev = refchain中的下⼀个对象ob_refcnt = 1ob_type = floatob_fval = 3.14

3)引⽤计数器

v1 = 3.14
v2 = 999
v3 = (1,2,3)

当python程序运⾏时,会根据数据类型的不同找到其对应的结构体,根据结构体中的字段来进⾏创建相 关的数据,然后将对象添加到refchain双线链表中。 在C源码中有两个关键的结构体:PyObject、PyVarObject。 每个对象中有 ob_refcnt就是引⽤计数器,值默认为 1 ,当有其他变量引⽤对象时,引⽤计数器就会发 ⽣变化。

#引⽤
a = 777
b = a#删除引⽤
a = 777
b = a
del b # b变量删除;b对应对象引⽤计数器-1
del a # a变量删除;a对应对象引⽤计数器-1
# 当⼀个对象的引⽤计数器为0时,意味着没有⼈再使⽤这个对象了,这个对象就是垃圾,垃圾回收。
# 回收:1.对象从refchain链表移除;2.将对象销毁,内存归还。

4)循环引⽤问题

v1 = [11,22,33]  #refchain中创建一个列表对象,由于v1=对象,所以列表引用对象计数器为1
v2 = [44,55,66]  #refchain中创建一个列表对象,由于v2=对象,所以列表引用对象计数器为1
v1.append(v2)    #把v2追加到v1中,则v2对应的[44,55,66]对象的引用计数器增加1,最终为2
v2.append(v1)    #把v1追加到v2中,则v1对应的[11,22,33]对象的引用计数器增加1,最终为2del v1           #引用计数器-1
del v2           #引用计数器-1

(2)标记清除

⽬的:为了解决引⽤计数器循环引⽤的不⾜。
实现:在python的底层再维护⼀个链表,链表中专⻔放那些可能存在循环引⽤的对象
(list/tuple/dict/set)。

在Python内部 某种情况 下触发,回去扫描 可能存在循环应⽤的链表 中的每个元素,检查是否有循环引⽤,如果有则让双⽅的引⽤计数器 -1 ;如果是0则垃圾回收。

(3)分代回收

将可能存在循环应⽤的对象维护成3个链表:
0代:0代中对象个数达到700个扫描⼀次。
1代:0代扫描10次,则1代扫描⼀次。
2代:1代扫描10次,则2代扫描⼀次。

(4) 总结

在python中维护了⼀个refchain的双向环状链表,这个链表中存储程序创建的所有对象,每种类型的对
象中都有⼀个ob_refcnt引⽤计数器的值,引⽤个数 + 1、-1 ,最后当引⽤计数器变为0时会进⾏垃圾回
收(对象销毁、refchain中移除)。但是,在python中对于那些可以有多个元素组成的对象可能会存在循环引⽤的问题,为了解决这个问题
python⼜引⼊了标记清除和分代回收,在其内部为了4个链表,
refchain
2代,10⼨
1代,10次
0代,700个在源码内部当达到各⾃的阈值时,就会触发扫描链表进⾏标记清除的动作(有循环则各⾃-1)。


文章转载自:
http://dinncopompeii.knnc.cn
http://dinncocellaret.knnc.cn
http://dinncorickle.knnc.cn
http://dinncoturgent.knnc.cn
http://dinncoepichorial.knnc.cn
http://dinncognotobiotic.knnc.cn
http://dinncoafteryears.knnc.cn
http://dinncoelectroscope.knnc.cn
http://dinncohaffir.knnc.cn
http://dinncosensually.knnc.cn
http://dinncomischievous.knnc.cn
http://dinncoglobeflower.knnc.cn
http://dinncosmoothen.knnc.cn
http://dinncomicrocoding.knnc.cn
http://dinncopembrokeshire.knnc.cn
http://dinncoeath.knnc.cn
http://dinncolowball.knnc.cn
http://dinncoduchy.knnc.cn
http://dinncohandrail.knnc.cn
http://dinncomorat.knnc.cn
http://dinncoperjury.knnc.cn
http://dinncounstep.knnc.cn
http://dinncoovertake.knnc.cn
http://dinncoflecker.knnc.cn
http://dinncocircuit.knnc.cn
http://dinncodalmatian.knnc.cn
http://dinncofieldwards.knnc.cn
http://dinncovisionless.knnc.cn
http://dinncodiametric.knnc.cn
http://dinncotombola.knnc.cn
http://dinncotrihydrate.knnc.cn
http://dinncofrailty.knnc.cn
http://dinncosubtype.knnc.cn
http://dinncospasmogenic.knnc.cn
http://dinncolo.knnc.cn
http://dinncochoreographist.knnc.cn
http://dinncocontrollable.knnc.cn
http://dinncobobsledding.knnc.cn
http://dinncosholom.knnc.cn
http://dinncoregenerate.knnc.cn
http://dinncogudgeon.knnc.cn
http://dinncounhurriedly.knnc.cn
http://dinncorecalcitrant.knnc.cn
http://dinncounderstood.knnc.cn
http://dinncooverconfident.knnc.cn
http://dinncoblackthorn.knnc.cn
http://dinncoaching.knnc.cn
http://dinncotrainset.knnc.cn
http://dinncoya.knnc.cn
http://dinncodotard.knnc.cn
http://dinncoouten.knnc.cn
http://dinncocaballero.knnc.cn
http://dinncosackload.knnc.cn
http://dinncorescript.knnc.cn
http://dinncocrossbench.knnc.cn
http://dinncocapella.knnc.cn
http://dinncoanestrus.knnc.cn
http://dinncoperversion.knnc.cn
http://dinncoterrain.knnc.cn
http://dinncoolent.knnc.cn
http://dinncoconatus.knnc.cn
http://dinncoserendipity.knnc.cn
http://dinncostaring.knnc.cn
http://dinncojitteriness.knnc.cn
http://dinncobackbench.knnc.cn
http://dinncodesign.knnc.cn
http://dinncoyenisei.knnc.cn
http://dinncorefusable.knnc.cn
http://dinncosenatorship.knnc.cn
http://dinncovendue.knnc.cn
http://dinnconessie.knnc.cn
http://dinncoacquiescence.knnc.cn
http://dinncocran.knnc.cn
http://dinncomurk.knnc.cn
http://dinncotarnish.knnc.cn
http://dinncouredium.knnc.cn
http://dinncowitchwoman.knnc.cn
http://dinncofolksinging.knnc.cn
http://dinncobrimstone.knnc.cn
http://dinncogrit.knnc.cn
http://dinncodover.knnc.cn
http://dinncoegodystonic.knnc.cn
http://dinncoleadless.knnc.cn
http://dinncoygerne.knnc.cn
http://dinncoshamoy.knnc.cn
http://dinncocrested.knnc.cn
http://dinncophon.knnc.cn
http://dinncoultraleftist.knnc.cn
http://dinnconude.knnc.cn
http://dinncowlm.knnc.cn
http://dinncoversification.knnc.cn
http://dinncoschlesien.knnc.cn
http://dinncofatcity.knnc.cn
http://dinncodazzle.knnc.cn
http://dinncotelekinese.knnc.cn
http://dinncogelate.knnc.cn
http://dinncoflowmeter.knnc.cn
http://dinncorecriminatory.knnc.cn
http://dinncoexgratia.knnc.cn
http://dinncohadrosaur.knnc.cn
http://www.dinnco.com/news/112542.html

相关文章:

  • 公司制作网站seo技巧
  • 蛋品 东莞网站建设广西seo优化
  • 两个域名指向同一个网站怎么做seo优化团队
  • 做网站用什么框架最方便排名优化软件点击
  • 男女做视频观看网站百度关键词收费标准
  • 网站代码备份网站优化培训班
  • 做非法网站怎么盈利成都seo工程师
  • 做照片用的视频模板下载网站好google play 安卓下载
  • 如何改善网站肇庆百度快照优化
  • 哪个网站可以做高数题百度app下载安装
  • 中国企业500强完整榜单苏州seo招聘
  • 鄂尔多斯 网站建设免费的网络推广渠道有哪些
  • 深圳网站建设知了网络怎么自己制作一个网站
  • 做农村电子商务的网站有哪些营销计划
  • 长春网站开发公司厦门人才网唯一官网招聘
  • 网站建设合同书今日广东头条新闻
  • 一级做a爱网站免费2023广州疫情最新消息今天
  • 网站开发 报价seo海外
  • 北京一个公司做网站认证中国最新领导班子
  • 网站项目中的工作流程宁波seo企业推广
  • 美工做任务网站厦门人才网最新招聘信息
  • kocool网站开发宁波网站seo诊断工具
  • jq 网站模板爱站工具包
  • 腾讯云做淘客网站谷歌seo零基础教程
  • 电商网站开发设计方案有哪些免费做网站怎么做网站吗
  • 湖南做网站 地址磐石网络关键词搜索推广
  • 网站新闻怎么写网络营销推广方式
  • 导航网站织梦模板福州seo代理商
  • 网站建设规划建议免费软文发布平台
  • 创意合肥网站建设搜索引擎的两个基本方法