C C++最新程序员必知的缓存套图,2024年最新C C++外包是如何进入阿里的

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

1. 线程与进程

1.1 进程:

进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。
在这里插入图片描述

1.2. 线程:

线程是操作系统能够进行运算调度的最小单位,被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。

1.3. 关系

在这里插入图片描述
每个进程都有相应的线程,在执行程序时,实际上是执行相应的一系列线程。进程是资源分配的最小单位,线程是程序执行的最小单位。

在这里插入图片描述

2. 浏览器内核模块组成

在这里插入图片描述
在这里插入图片描述

4. 事件循环机制

在这里插入图片描述

在这里插入图片描述
模型的运转流程:

执行初始化代码, 将事件回调函数交给对应模块管理
当事件发生时, 管理模块会将回调函数及其数据添加到回调列队中
只有当初始化代码执行完后(可能要一定时间), 才会遍历读取回调队列中的回调函数执行

5. 缓存

在这里插入图片描述

5.1. 缓存理解

  1. 缓存定义:
  2. 浏览器在本地磁盘上将用户之前请求的数据存储起来,当访问者再次需要改数据的时候无需再次发送请求,直接从浏览器本地获取数据
  3. 缓存的好处:
  4. 减少请求的个数
  5. 节省带宽,避免浪费不必要的网络资源
  6. 减轻服务器压力
  7. 提高浏览器网页的加载速度,提高用户体验
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. 缓存分类

  1. 强缓存
  2. 不会向服务器发送请求,直接从本地缓存中获取数据
  3. 请求资源的的状态码为: 200 ok(from memory cache)
  4. 协商缓存
  5. 向服务器发送请求,服务器会根据请求头的资源判断是否命中协商缓存
  6. 如果命中,则返回304状态码通知浏览器从缓存中读取资源
  7. 强缓存 & 协商缓存的共同点
  8. 都是从浏览器端读取资源
  9. 强缓存 VS 协商缓存的不同点
    1. 强缓存不发请求给服务器
    2. 协商缓存发请求给服务器,根据服务器返回的信息决定是否使用缓存

5.3. 缓存使用示意图

在这里插入图片描述

5.4. 缓存中的header参数

在这里插入图片描述

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

**

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值