网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。
1.2. 线程:
线程是操作系统能够进行运算调度的最小单位,被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。
1.3. 关系
每个进程都有相应的线程,在执行程序时,实际上是执行相应的一系列线程。进程是资源分配的最小单位,线程是程序执行的最小单位。
2. 浏览器内核模块组成
4. 事件循环机制
模型的运转流程:
执行初始化代码, 将事件回调函数交给对应模块管理
当事件发生时, 管理模块会将回调函数及其数据添加到回调列队中
只有当初始化代码执行完后(可能要一定时间), 才会遍历读取回调队列中的回调函数执行
5. 缓存
5.1. 缓存理解
- 缓存定义:
- 浏览器在本地磁盘上将用户之前请求的数据存储起来,当访问者再次需要改数据的时候无需再次发送请求,直接从浏览器本地获取数据
- 缓存的好处:
- 减少请求的个数
- 节省带宽,避免浪费不必要的网络资源
- 减轻服务器压力
- 提高浏览器网页的加载速度,提高用户体验
var dt = new Date();
dt.setSeconds(dt.getSeconds() + 60);
document.cookie = "cookietest=1; expires=" + dt.toGMTString();
var cookiesEnabled = document.cookie.indexOf("cookietest=") != -1;
//是否启用cookie
if(!cookiesEnabled){
alert("没有启用cookie ");
}else{
alert("已经启用cookie ");
}
5.2. 缓存分类
- 强缓存
- 不会向服务器发送请求,直接从本地缓存中获取数据
- 请求资源的的状态码为: 200 ok(from memory cache)
- 协商缓存
- 向服务器发送请求,服务器会根据请求头的资源判断是否命中协商缓存
- 如果命中,则返回304状态码通知浏览器从缓存中读取资源
- 强缓存 & 协商缓存的共同点
- 都是从浏览器端读取资源
- 强缓存 VS 协商缓存的不同点
- 强缓存不发请求给服务器
- 协商缓存发请求给服务器,根据服务器返回的信息决定是否使用缓存
5.3. 缓存使用示意图
5.4. 缓存中的header参数
强缓存的header参数
- expires:
- 这是http1.0时的规范;它的值为一个绝对时间的GMT格式的时间字符串,如
Mon, 10 Jun 2015 21:31:12 GMT
,如果发送请求的时间在expires之前,那么本地缓存始终有效,否则就会发送请求到服务器来获取资源 - cache-control:max-age=number
- 这是http1.1时出现的header信息,主要是利用该字段的max-age值来进行判断,它是一个相对值;资源第一次的请求时间和Cache-Control设定的有效期,计算出一个资源过期时间,再拿这个过期时间跟当前的请求时间比较,如果请求时间在过期时间之前,就能命中缓存,否则就不行;
- cache-control常用的值(做一个简单了解即可):
- no-cache: 不使用本地缓存,需要使用协商缓存。先与服务器确认返回的响应是否被更改,如果之前的响应中存在Etag,那么请求的额时候会与服务器端进行验证,如果资源为被更改则使用缓存。
- no-store: 直接禁止游览器缓存数据,每次用户请求该资源,都会向服务器发送一个请求,每次都会下载完整的资源。
- public:可以被所有的用户缓存,包括终端用户和CDN等中间代理服务器。
- private:只能被终端用户的浏览器缓存,不允许CDN等中继缓存服务器对其缓存。
- 注意:当cache-control与Expires共存的时候cache-control的优先级高
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
!**
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新