补充了解计算机知识
1.JS垃圾回收机制
标记 清除
原理 是 有固定可达值,显而易见的不可删除的值为根
从根开始标记, 标记其引用,标记其子孙代的引用,进程中不可访问的的对象就会被删除
优化: 分代回收: 新对象检查次数多,旧对象检查次数少
增量回收:垃圾回收分解成多部分,分别回收
cpu空闲的时候执行垃圾回收
2.内存泄露
1,首先,尽量不要使用全局变量,使用严格模式,当无法避免使全局变量时可以手动 释放 变量 = null
2.遗忘的定时器和回调函数, 删除定时器
为按钮绑定点击事件,点击将为其父元素设置内容,按钮没了,但是按钮还绑定事件,所以要移除事件 -事件委托解决
3.闭包 ,内部变量引入外部收据不用了手动释放
4.DOM引用 dom被多次引用,要在后面即使清除
3.web前端缓存
DNS缓存, CDN缓存 , 浏览器缓存
DNS缓存:域名解析系统
搜索浏览器自身的DNS缓存 若存在则解析完成
找不到尝试读取操作系统中的hosts文件,找不到查找本地DNS服务器,找不到向根服务器发送请求
CDN缓存:内容分发网络,我们浏览网站时,CDN会选择一个里用户最近的服务器
当浏览器向CDN节点请求数据,CDN节点会判断缓存数据是否过期,若没有过期就返回数据,若过期,则将则向服务器发送回源请求,拉取新数据,更新本地缓存
浏览器缓存 强缓存和协商缓存
浏览器判断是否命中缓存,命中执行强缓存判断缓存是否过期,如果过期,执行协商缓存判断资源是否有效,有效返回304响应,响应内容存入缓存,载入资源
三级缓存:先在内存中查找,再在硬盘中查找,若没有进行网络请求,请求获取的资源缓存在硬盘和内存中
4.UDP和TCP
TCP有连接的可靠传输,只支持一对一,面向字节流,首部开销20-60字节 文件传输
UDP无连接,不可靠传输,支持多对多 面向报文,首部开销小仅8字节 直播
5.TCP三次握手,四次挥手
第一次 A问B是否建立连接?
第二次 B回复A可以建立连接,你那边可以建立连接吗
第三次 A 回复B可以建立连接
四次挥手
第一次 A 告诉 B 我已经传递完毕了,是否可以断开
第二次 B告诉A可以断开
第三次 B 向 A 我也传递完毕,可以断开吗
第四次 A告诉B可以断开
GET和POST区别
GET在URL添加数据URL长度受限,POST无限制
GET只允许ASCII字符
GET提交的数据放在URL中,POST则不会
GET有缓存,POST不能

浙公网安备 33010602011771号