• 垃圾回收机制及正则


    一、垃圾回收机制

    • 不能被程序访问到的数据,就称之为垃圾

    1、引用计数

    • 引用计数是用来记录值的内存地址被记录的次数的
    • 每一次对值地址的引用都可以使该值的引用计数 +1
    • 每一次对值地址的释放都可以使该值得引用计数 -1
    • 当一个值的引用计数为0时,该值就会被系统的垃圾回收机制回收

    2、循环导入

    • 循环导入会导致某些值得引用计数永远大于0
    ls1 = [666]
    ls2 = [888]
    ls1.append(ls2)
    ls2.append(ls1)

    3、标记删除

    • 标记:标记的过程其实就是,遍历所有的GC Roots对象(栈区中的所有内容或者线程都可以作为GC Roots对象),然后将所有GC Roots的对象可以直接或间接访问到的对象标记为存活的对象,存放到新的内存空间中
    • 删除:删除的过程将遍历堆中所有的对象,将之前所有的内容全部清除

    4、分代回收

    • 分代:指的是根据存活时间来为变量划分不同等级(也就是不同的代)
    • 回收:依然是使用引用计数作为回收的依据
    '''
    新定义的变量,放到新生代这个等级中,假设每隔1分钟扫描新生代一次,如果发现变量依然被引用,那么该对象的权重(权重本质就是个整数)加一,当变量的权重大于某个设定得值(假设为3),会将它移动到更高一级的青春代,青春代的gc扫描的频率低于新生代(扫描时间间隔更长),假设5分钟扫描青春代一次,这样每次gc需要扫描的变量的总个数就变少了,节省了扫描的总时间,接下来,青春代中的对象,也会以同样的方式被移动到老年代中。也就是等级(代)越高,被垃圾回收机制扫描的频率越低
    '''
    View Code

    二、正则

    # 正则:正则就是带语法的字符串,用来匹配目标字符串得到想要的字符串结果
    
    # 语法:
    # 1.单个字符
    # d == [0-9]
    # D == [^0-9]
    # w == 字母+数字+_
    # [0-9A-Za-z] == 所有字母+数字
    # . == 匹配所有单个字符(刨除换行)
    
    # 2.多个字符
    # zo* == zo{0,}
    # zo+ == zo{1,}
    # zo? == zo{0,1}
    
    # 应用
    # 匹配多个zo:zozozozo
    # (?:zo){1,}
    
    # 3.多行
    # ^: 以什么开头 $: 以什么结尾  结合 flags=re.M  可以按
    来完成多行匹配
    # re.S:将
    也能被.匹配  re.I:不区分大小写
    
    
    # 4.分组
    # 1.从左往右数数 ( 进行编号,自己的分组从1开始,group(0)代表匹配到的目标整体
    # 2.(?: ... ):取消所属分组,()就是普通(),可以将里面的信息作为整体包裹,但不产生分组
    regexp = re.compile('(?:(?:http://)(.+)/)')  # 生成正则对象
    target = regexp.match('http://www.baidu.com/')
    print(target.group(1))  # www.baidu.com
    
    # 5.拆分
    print(re.split('s', '123 456
    789	000'))
    
    # 6.替换
    # 1.不参与匹配的原样带下 2.参与匹配的都会被替换为指定字符串
    # 3.在指定字符串值
    um拿到具体分组 4.其他字符串信息都是原样字符串
    print(re.sub('《(?:[a-z]+)(d+)(.{2})', r'\2abc21', '《abc123你好》'))
  • 相关阅读:
    基于Metaweblog API 接口一键发布到国内外主流博客平台
    uva144 Student Grants
    Uva 10452
    Uva 439 Knight Moves
    Uva 352 The Seasonal War
    switch语句
    java——基础知识
    我的lua学习2
    codeforces 431 D. Random Task 组合数学
    codeforces 285 D. Permutation Sum 状压 dfs打表
  • 原文地址:https://www.cnblogs.com/wangyisen/p/10733452.html
Copyright © 2020-2023  润新知