zoukankan      html  css  js  c++  java
  • webassesmbly 预课的作业

    1. 在chrome中GC模式是什么样子的

    chorme是基于v8引擎的。是使用自动垃圾回收, es的标准里没有暴露api去控制内存。

    浏览器的内存大约1G, 为什么这么小, 因为全量的垃圾回收需要1s,即使是增量的也要50ms, 垃圾回收进程和逻辑处理进程不能并发, 这1s会造成页面卡死。

    浏览器内存将按照分代回收策略, 不同代采用不同的算法。 对于经常需要会回收的, 放在新生代,定期回收的, 放在老生代。

    所谓回收是对内存堆(heap)进行回收, 包括新生代内存区, 老生代数据区。老生代指针区和大数据区等。

    在新生代区,将采用复制算法, 将内存区一分为二, from和to, 将对象从frm放到to, 在其中死区的数据(没有引用到的)将会被回收,在这一切结束后, to, from置换。有些存在久的对象被晋升在老生代区。这个算法的弊端, 是内存不连续,有碎片。

    在老生代区, 定期逐个扫描, 如果是死区数据或者指针 将被回收。

    2. 如何避免内存泄漏

    1)缓存会导致内存泄漏, 可以使用redis等

    2)一些闭包的情况, 作用域。避免使用闭包, 可以使用尾调用优化

    3)定时器要消除, 在程序结束时。 

    4) 值置空 

    3. 什么是AST, AST能做什么

    • IDE的错误提示、代码格式化、代码高亮、代码自动补全等
    • JSLintJSHint对代码错误或风格的检查等
    • webpackrollup进行代码打包等
    • CoffeeScriptTypeScriptJSX等转化为原生Javascript


  • 相关阅读:
    完全卸载Oracle方法、步骤
    使用oracle11g_instant_client来解决在不安装oracle客户端的情况下连接服务端
    Android系统中的6种模式
    现代汉语常用3500字
    debug1: Could not open authorized keys
    所选用户秘钥未在远程主机上注册
    directshow播放摄像头卡死问题
    linux设置静态IP
    gcc编译错误
    centos6.4编译gcc6.4
  • 原文地址:https://www.cnblogs.com/connie313/p/14783561.html
Copyright © 2011-2022 走看看