zoukankan      html  css  js  c++  java
  • V8引擎回收机制、 内存泄露

     一、垃圾回收:将内存不在使用的数据进行清理,释放内存空间
      v8将内存分为新生代空间和老生代的空间
      新生代空间:用于存活较短的对象
      :又分为二个空间:from空间和to空间
      :Scavenge GC算法:当 from 空间被占满时,启动 GC 算法
       存活的对象从 from space 转移到 to space
       清空from space
       from space和to space交互
       完成一次新生代GC
      老生带空间:用于存活时间较长的对象
      从新生代空间 转移到 老生代空间条件
         经历过一次以上的Scavenge GC的对象
         当to space空间体积超过了25%
      标记清除算法: 标记存活对象,未被标记会被释放
       增量标记:  小模块标记,在代码执行间隙执行,GC会影响性能
       并发标记(最新技术): 不阻塞js执行
      压缩算法:将内存中清除后导致的碎片化对象往内存堆的一端移动,解决内存的碎片化
      二、 内存泄露
      1,意外全部变量:无法被回收
      2,定时器:无法被正确的关闭,导致所引用变量无法被释放
      3,事件监听,没有正确的被销毁,
      4,闭包,会导致父级的变量无法被释放 
      5,dom的引用,dom元素被删除了,内存中的引用未被删除
  • 相关阅读:
    加密
    读取excel
    poj 1852 Ants
    关于运行时间
    poj 1001 Exponentiation
    Poj 3669 Meteor Shower
    一道简单题目的优化过程——抽签问题
    高精度四则运算
    Usaco_Contest_2013_Open_Bovine Problem 1. Bovine Ballet
    h5 音频 视频全屏设置
  • 原文地址:https://www.cnblogs.com/yayaxuping/p/10869710.html
Copyright © 2011-2022 走看看