js引擎&内存图

1.操作系统基础知识

注:所有东西都必须在内存里运行 

1.开机和加载操作系统

  • 开机过程:通电->读固件->加载开机程序->开机程序被加载到内存中运行(运行操作系统) 
  • 操作系统运行过程:加载内核->开启1号进程(PID=1)->1号进程开始后续进程,提供系统服务->登录->通过shell操作界面操作(windows是桌面鼠标操作,Linux是黑框框shell用命令操作)

2.进程&线程(Process&Thread) 

  • 渲染: html提供节点,css提供节点样式,把它们结合显示到屏幕上呈现称为渲染
  • 引擎功能:渲染引擎,解析执行html/css;JS引擎,解析执行js
  • 一般请求过程:下载,解析,执行

 3.JS引擎功能和执行JS的内存

  • document/setTimeout这些都是浏览器提供的API,而不是js本身的功能 
  • js代码在浏览器提供的运行环境(runtime env)执行
  • 所有东西都在内存里运行,js代码也被下载到内存中运行

2.js瓜分内存

注:图示区域并不完整,还有调用栈,任务队列等区域。每种浏览器分配规则不同。数据区只存数据,不存变量名。 

1.JS引擎内存分区 

  • 代码区:存js代码
  • 不知什么区:存变量和运行环境(不同浏览器这个区名字不同)
  • 数据区:数据全部存在红色部分。分为Stack栈数据区 ,Heap堆数据区
  • Stack栈区:数据顺序存放,连续存储,存非对象
  • Heap堆区:数据随机存放,链式存储,存对象

 2.实例:js代码运行如何分配内存

  •  等号就是直接复制
  • 非对象:数字/字符串/布尔
  • 对象:数组/函数/...
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值