浏览器的事件循环机制
一、请简述浏览器的事件循环机制(Event Loop)基本原理
浏览器的事件循环机制是用于协调处理 JavaScript 中的异步任务与同步任务执行顺序的一种机制,它确保了代码能够按照合理的顺序执行,避免阻塞页面渲染等情况。其基本原理如下:
- 任务分类:
- 同步任务:指那些会立即执行的任务,按照代码编写的顺序依次执行,比如简单的变量声明、函数调用(非异步相关的)等,它们会在主线程上按顺序被执行完。例如
这里的变量声明和函数调用及最后的
console.log
操作都是同步任务,会依次执行。 - 异步任务:不会立即执行,而是会在合适的时机被放入任务队列(也叫消息队列)中等待执行,常见的异步任务有定时器任务(
setTimeout
、setInterval
)、DOM 事件回调、网络请求回调(如fetch
回调等)。例如:这个
setTimeout
里的回调函数就是异步任务,会等待 1000 毫秒后被放入任务队列。 - 执行流程:
- 首先,JavaScript 主线程会先执行所有的同步任务,在执行同步任务过程中如果遇到异步任务,会将异步任务交给对应的浏览器模块(比如定时器交给浏览器的定时器模块管理,网络请求交给网络模块等),主线程继续执行后续的同步任务,直至所有同步任务执行完毕。
- 主线程任务执行完后,会去检查任务队列(消息队列),如果任务队列中有任务,就会按照先进先出的顺序将任务取出,放到主线程中执行,每执行完一个任务,就会再次查看任务队列是否还有任务,如此循环往复,这个不断检查并执行任务队列中任务的过程就是事件循环。
- 同步任务:指那些会立即执行的任务,按照代码编写的顺序依次执行,比如简单的变量声明、函数调用(非异步相关的)等,它们会在主线程上按顺序被执行完。例如
二、宏任务(Macro Task)和微任务(Micro Task)分别有哪些,它们在事件循环中的执行顺序是怎样的?
- 宏任务示例及来源:
- 常见的宏任务类型:包括
setTimeout
、setInterval
、I/O
操作(比如读取文件等,不过在浏览器端主要涉及网络请求等类似的异步I/O
)、script
(整体的 JavaScript 脚本代码初始执行也可看作一个宏任务)、UI render
(浏览器的页面渲染工作通常也会在特定的宏任务执行间隙进行)等。例如: -
宏任务执行特点:宏任务会按照它们被添加到任务队列的顺序依次执行,每次执行完一个宏任务后,如果当前宏任务执行过程中产生了微任务,会先处理完微任务,再去执行下一个宏任务。
-
微任务示例及来源:
- 常见的微任务类型:主要有
Promise.then()
、MutationObserver
(用于监听 DOM 变化的回调)、process.nextTick
(在 Node.js 环境中,不过面试中常和浏览器事件循环对比提及)等。例如:这里
Promise.resolve().then()
里的回调就是微任务。 - 微任务执行特点:微任务会在当前宏任务执行结束后、下一个宏任务开始执行前被执行,并且微任务队列中的所有微任务会一次性执行完,如果在执行微任务过程中又产生了新的微任务,会继续执行新产生的微任务,直到微任务队列清空,才会进入下一个宏任务的执行阶段。
-
所以整体的执行顺序大致是:同步任务 -> 微任务队列(清空) -> 宏任务 1 -> 微任务队列(清空) -> 宏任务 2 -> 微任务队列(清空)…… 以此类推。
- 常见的微任务类型:主要有
- 常见的宏任务类型:包括
三、为什么 setTimeout
回调函数的执行时间可能会不准确,结合事件循环机制解释一下
虽然 setTimeout
可以设置一个延迟时间,比如 setTimeout(() => { console.log('test'); }, 1000);
看似是 1000 毫秒后执行回调函数,但实际执行时间可能不准确,原因如下:
-
任务队列排队问题:
setTimeout
只是将回调任务添加到了任务队列中,当设定的延迟时间到了之后,它的回调任务才会被放入任务队列,但它具体何时能执行取决于任务队列前面还有多少任务在排队等待执行。例如,如果前面已经有大量的宏任务或者微任务在排队,即使到了设定的延迟时间,它也得等前面的任务都执行完才能轮到它执行,所以实际执行时间就会晚于设定的延迟时间。 -
浏览器资源分配情况:
浏览器的资源是有限的,主线程需要兼顾很多方面,比如页面渲染、处理用户交互等同时还得执行任务队列中的任务。有时候如果浏览器正在忙于处理页面渲染或者其他高优先级的任务,那么对于任务队列中setTimeout
回调这样的任务处理就会有延迟,导致其执行时间不准。 -
最小延迟限制:
大部分浏览器为了性能等因素考虑,对setTimeout
有一个最小延迟限制,通常是 4 毫秒左右(不同浏览器可能略有差异)。也就是说,即使你设置的延迟时间是 0 毫秒,实际上它最少也得等待大概 4 毫秒后才可能被放入任务队列(只是可能,还得看前面排队情况),这也会使得执行时间和预期设置的不一致。
四、如何理解 async/await
与事件循环机制的关系?
async/await
是基于 JavaScript 中的 Promise 和生成器(generator)等底层机制实现的一种用于处理异步代码的语法糖,它和事件循环机制密切相关:
async
函数本身的执行性质:async
函数在执行时,它内部的代码一开始是同步执行的,直到遇到第一个await
关键字。例如这里
console.log('开始执行 async 函数')
会先同步执行,当遇到await
时,async
函数会暂停执行,并将await
后面跟着的 Promise 的then
方法(也就是await
等待 Promise 状态变为fulfilled
后要执行的后续逻辑)作为一个微任务添加到微任务队列中,然后主线程继续执行其他同步任务(比如上面示例中的console.log('外部同步任务')
)。await
与微任务的关联:
当await
所等待的 Promise 状态变为fulfilled
时,其对应的then
回调(也就是await
后续的代码逻辑)作为微任务会在当前宏任务执行结束后被执行,这符合微任务在事件循环中的执行顺序规则。例如,继续完善上面的示例:执行顺序会是:先执行
console.log('开始执行 async 函数')
,然后遇到await
,暂停async
函数执行,添加await
后续逻辑为微任务,接着执行console.log('外部同步任务')
,再执行Promise.resolve().then()
这个额外的微任务,最后执行await
之后async
函数里的console.log('await 之后继续执行,结果为:', result)
等后续逻辑,这个过程充分体现了async/await
遵循事件循环机制中微任务的执行顺序特点,让异步代码可以更清晰地按照顺序执行,类似同步代码的书写体验。
五、结合事件循环机制,说说页面渲染和 JavaScript 执行是如何协调的?
在浏览器中,页面渲染和 JavaScript 执行的协调是通过事件循环机制来实现的:
- 初始页面渲染与 JavaScript 执行顺序:
当浏览器加载一个网页时,首先会解析 HTML 文档构建 DOM 树,在这个过程中如果遇到script
标签内的 JavaScript 代码(内联代码或者外部引入的脚本文件),会暂停 DOM 树的构建,先去执行 JavaScript 代码(此时 JavaScript 代码作为一个宏任务开始执行),等 JavaScript 代码执行完后,再继续构建 DOM 树。例如,以下简单的 HTML 页面结构示例:浏览器先解析到
script
标签时,会先执行里面的console.log('页面中的JavaScript代码执行')
这个同步任务,然后再继续解析后面的 HTML 元素构建 DOM 树,创建#app
这个div
元素对应的 DOM 节点等后续操作。 - 后续页面渲染时机:
在 JavaScript 执行的过程中(每个宏任务执行阶段),如果修改了 DOM 元素相关属性或者结构等,浏览器并不会立即进行页面渲染,而是等到当前宏任务执行完毕,并且微任务队列也清空后,才会根据修改后的 DOM 情况进行页面渲染(将新的 DOM 结构、样式等呈现到页面上),这个页面渲染操作本身也是一个宏任务的一部分(可以理解为浏览器内部的一个特定宏任务环节)。例如:所以,通过事件循环机制,页面渲染和 JavaScript 执行有序地交替进行,既保证了 JavaScript 代码能够按规则操作 DOM 等资源,又能适时地将页面更新呈现给用户,避免渲染的混乱和无序。
总之,掌握浏览器的事件循环机制对于理解前端代码的执行顺序、异步处理以及页面渲染等诸多方面都非常关键,在前端面试中也是经常考查的重点内容。
相关文章:
浏览器的事件循环机制
一、请简述浏览器的事件循环机制(Event Loop)基本原理 浏览器的事件循环机制是用于协调处理 JavaScript 中的异步任务与同步任务执行顺序的一种机制,它确保了代码能够按照合理的顺序执行,避免阻塞页面渲染等情况。其基本原理如下…...
如何在 React 项目中应用 TypeScript?应该注意那些点?结合实际项目示例及代码进行讲解!
在 React 项目中应用 TypeScript 是提升开发效率、增强代码可维护性和可读性的好方法。TypeScript 提供了静态类型检查、自动补全和代码提示等功能,这对于 React 开发者来说,能够帮助早期发现潜在的 bug,提高开发体验。 1. 项目初始化 在现…...
排序算法(五)--归并排序
文章目录 引言归并排序概述C语言实现代码解析结论 归并排序 C语言实例 引言 归并排序(Merge Sort)作为一种经典的排序算法,以其稳定性、分治法的巧妙应用以及相对高效的时间复杂度而著称。 归并排序概述 归并排序采用分治法(Di…...
Linux KASLR 地址偏移
kaslr开启时地址 cat /proc/cmdline BOOT_IMAGE/boot/vmlinuz-5.4.0-193-generic rootUUID0e46dee3-4557-434a-a2d2-a35c6ad3d327 ro find_preseed/preseed.cfg auto noprompt prioritycritical localeen_US quiet cat /boot/config-$(uname -r) | grep CONFIG_RANDOMIZE_B…...
利用开源图床的技巧与实践
随着互联网的普及,图片的使用变得越来越广泛。无论是个人博客、社交媒体还是企业网站,都离不开图片的呈现。而图床作为图片存储和管理的工具,可以帮助开发者和内容创作者高效地管理图片资源。本文将探讨如何利用开源图床,并提供相…...
Unity Lua方向的面试真题详解
最近有位同学面试Unity,面试的公司采用Lua的方案来做公司项目,我们把面试时问道的真题列举出来,并配上参考回复。 1、Lua热更文件时,文件是重写的,还是只写一部分? 热更分为资源更新和代码更新,资源更新…...
经验笔记:Git 基础操作指南
推荐一下Gitee最好的Git操作教程:Learn Git Branching 经验笔记:Git 基础操作指南 1. 安装 Git 首先确保您的计算机上已安装 Git。如果还没有安装,可以从 Git官网 下载并安装。 2. 配置 Git 安装完成后,打开命令行工具&#…...
大模型在智能客服中心领域的应用思考
大模型在智能客服中心领域的应用思考 作者:开源呼叫中心系统 FreeIPCC,Github地址:https://github.com/lihaiya/freeipcc 随着人工智能技术的飞速发展,特别是深度学习技术的突破,大型语言模型(LLMs&#x…...
ssm旅游推荐系统的设计与开发
摘 要 旅游推荐系统是一个综合性的在线旅游推荐平台,旨在为用户提供便捷的旅游规划和预定服务。通过该系统,用户能够浏览各类景点信息并进行分类查找,同时获取详尽的景点介绍和相关照片,以辅助做出旅行决策。系统提供在线门票订购…...
C++从零到满绩——入门基础and类和对象(上)
目录 1>>前言 2>>函数重载 3>>引用 3.1>>引用的概念 3.2>>引用三大特性 3.3>>引用的使用 3.4>>const引用 3.5>>指针与引用的关系 4>>inline内联函数 5>>nullptr 6>>类和对象(上&#…...
如何为PDF文件创建口令密码
介绍Adobe Acrobat https://helpx.adobe.com/cn/acrobat/using/access-acrobat-across-web-mobile-desktop.html 使用Adobe Acrobat软件添加口令...
【ubuntu】开机进入initramfs,无法开机
Step 1 blkid查看 ext4 的磁盘 Step 2 找到TYPE"EXT4"的盘,我们此处是 /dev/mapper/ubuntu–vg-ubuntu–lv,fsck命令是用于检查和修复Linux文件系统中的错误。通过使用-t参数指定文件系统类型(例如ext4)。我们使用如下命令进行…...
java基础---反射
仅供个人学习使用 1. 什么是反射 Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为…...
CircuitBreaker机制详解:Elasticsearch中的资源管理
CircuitBreaker机制详解:Elasticsearch中的资源管理 在现代软件架构中,熔断器(CircuitBreaker)是一种重要的模式,用于防止系统过载并保护系统稳定性。在Elasticsearch中,熔断器机制尤其关键,因为它们帮助管理资源使用,防止节点因资源耗尽而崩溃。本文将深入探讨Elasti…...
毕氏完美数
毕达哥拉斯 概要 2 \sqrt{2} 2 a b , a < b , a > b ab,a<b,a>b ab,a<b,a>b 判断完美数验证 自守数验证 水仙花数代码验证 概要 回顾完美数,自守数,水仙花数,根号2感受最美公式。 2 \sqrt{2} 2 毕达哥拉斯创立了一…...
数据结构-8.Java. 七大排序算法(中篇)
本篇博客给大家带来的是排序的知识点, 由于时间有限, 分两天来写, 中篇主要实现后三种排序算法: 冒泡排序,快速排序,下一篇讲 归并排序. 文章专栏: Java-数据结构 若有问题 评论区见 欢迎大家点赞 评论 收藏 分享 如果你不知道分享给谁,那就分享给薯条. 你们的支持是我不断创作…...
如何能让安全责任更清晰——构建清晰安全责任体系策略与实践
安全已成为各行各业不可忽视的重要议题。然而,要确保组织的安全运行,仅仅有安全意识是不够的,还需要有一套清晰明确的安全责任体系来支撑。这套体系能够明确每个人的安全职责,促进安全管理工作的有序进行,降低事故发生…...
VBA技术资料MF228:移动形状并覆盖某单元格区域
我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套,分为初级、中级、高级三大部分,教程是对VBA的系统讲解&#…...
《Python基础》之基本数据类型
目录 基本数据类型 1、Number(数字) (1)、整数(int) (2)、浮点数(float) (3)、复数(complex) (4)、 布尔…...
2024 APMCM亚太数学建模C题 - 宠物行业及相关产业的发展分析和策略(详细解题思路)
在当下, 日益发展的时代,宠物的数量应该均为稳步上升,在美国出现了下降的趋势, 中国 2019-2020 年也下降,这部分变化可能与疫情相关。需要对该部分进行必要的解释说明。 问题 1: 基于附件 1 中的数据及您的团队收集的…...
66 mysql 的 表自增长锁
前言 mysql 的表锁之 AUTO_INC, 是我们自增长的时候做并发控制的锁 主要是用于 自增长生成新的 id 的时候的控制 在前面的文档中, 我们又看到 mysql 这边自增长的处理的相关的大概脉络 但是 对于一些 并发控制的细节, 我们当时 应该是直接忽略掉了 我们这里就来看一下…...
java中的this关键字
🎉🎉🎉欢迎来到我的博客,我是一名自学了2年半前端的大一学生,熟悉的技术是JavaScript与Vue.目前正在往全栈方向前进, 如果我的博客给您带来了帮助欢迎您关注我,我将会持续不断的更新文章!!!🙏🙏🙏 文章目录…...
资源控制器--laravel进阶篇
laravel的控制器当中有个资源控制器,这个比较好用。 创建资源控制器 php artisan make:controller PhotoController --resource 创建个路由来使用该资源控制器 use App\Http\Controllers\PhotoController; Route::resource(photos, PhotoController::class); 隐式模型绑定不…...
智能工厂的设计软件 为了监管控一体化的全能Supervisor 的监督学习 之 序7 进化论及科学的信息技术创新:分布式账本/区块链/智能合约
Q&A Q46、 聊聊“分布式账本”“区块链”和“智能合约” “分布式账本”、“区块链”和“智能合约”是现代信息技术领域的几个重要概念,它们在金融、供应链管理、物联网等多个领域都发挥着重要作用。以下是对这三个概念的详细解析: 分布式账本 …...
从零开始认识显卡
显卡(GPU,全称为Graphics Processing Unit),是电脑中专门负责图形处理的硬件组件。以下是从零开始认识显卡的简单介绍: 1. 显卡的基本组成 显卡通常由以下几个主要部分组成: GPU核心:显卡的“…...
什么是计算机网络
什么是计算机网络? 计算机网络的定义计算机网络的分类按覆盖范围分类按拓扑结构分类按通信传输介质分类按信号频带占用方式分类 计算机网络的功能信息交换资源共享分布式处理 计算机网络的组成计算机网络的定义计算机网络的分类按覆盖范围分类按拓扑结构分类按通信传…...
网络安全在线网站/靶场:全面探索与实践
目录 1. CyberPatriot 简介 功能与特点 适用人群 2. Hack The Box 简介 功能与特点 适用人群 3. OverTheWire 简介 功能与特点 适用人群 4. VulnHub 简介 功能与特点 适用人群 5. PortSwigger Web Security Academy 简介 功能与特点 适用人群 6. TryHackM…...
多旋翼无人机长航时远距离集群技术详解
多旋翼无人机长航时远距离集群技术是当前无人机技术发展的重要方向之一,它结合了多旋翼无人机的灵活性和集群技术的优势,实现了无人机在长时间、远距离条件下的高效协同作业。以下是对该技术的详细解析: 一、多旋翼无人机特点 多旋翼无人机以…...
C#编写的日志记录组件 - 开源研究系列文章
以前编写过一个日志记录组件的博文,这次发布一个修改过的完善版本。 1、 项目目录; 2、 源码介绍; 1) 实现; 2) 使用; 后面的参数为级别设置,只有大于这个级别的才进行日志记录,限制了日志记录的…...
使用 Java 操作 SQLite 数据库
文章目录 1.导入依赖2.实际应用 1.导入依赖 <dependencies><dependency><groupId>org.xerial</groupId><artifactId>sqlite-jdbc</artifactId><version>3.36.0.3</version></dependency> </dependencies>2.实际应…...
再次讨论下孤注一掷
在孤注一掷中的黑客技术里面,简单介绍了电影孤注一掷中用的一些"黑科技",这里继续讨论下,抛弃这些黑科技,即使在绝对公平的情况下,你也一样赢不了赌场 相对论有一个假设就是光速不变,这里也有个…...
系统思考—跳出症状看全局
感谢合作伙伴的邀请,圆满结束国药试剂关于《系统思考》的课程。课堂上,我们围绕“缺货”这个看似具体的问题,展开了一场跨部门的深度探讨。销售、采购、物流等部门各抒己见,发现每个部门的出发点都是为了公司好,但误判…...
前端面试vue篇:Vue2 和 Vue3 在设计和性能上有显著区别
Vue3 相对于 Vue2 的主要改进和性能提升体现在以下几个关键领域 1.响应式系统: (1)Vue2 使用 Object.defineProperty 遍历对象的所有属性来实现响应式,这在大型应用中可能导致性能瓶颈,尤其是在组件初次渲染和大量数据变化时。 (2)Vue3 引入了…...
每天五分钟深度学习:神经网络模型的直观理解
本文重点 神经网络是深度学习的基础模型之一,本文将讲解一下基础模型神经网络是什么? 神经网络 如上所示,这个神经网络有两层(我们认为输入层不算神经网络的层数),其中一个隐藏层,还有一个是输出层。我们称隐藏层为第一层,输出层为第二层,输入层为第零层。 我们有输…...
高集成的MCU方案已成电机应用趋势?
【哔哥哔特导读】高集成化的芯片成为当下MCU领域研发和市场布局的重点,但是在实际应用中仍然面临散热等痛点问题,MCU厂商是如何解决和优化这些痛点? 随着全球工业自动化、智能制造和绿色发展的不断推进,中国电机行业正站在新一轮…...
商用密码产品认证名录说明
《商用密码产品认证目录》是为贯彻落实《中华人民共和国密码法》,进一步健全完善商用密码产品认证体系,更好满足商用密码产业发展需要,根据《国家密码管理局 市场监管总局关于调整商用密码产品管理方式的公告》《市场监管总局 国家密码管理局…...
无人机技术探索:电机、电调与桨叶的运行原理!
无人机电机的主要材料 铝合金:铝合金是当前应用最广泛的无人机电机材料之一,具有制造成本低廉、重量轻、支撑力强等特点,同时有一定的抗氧化性能。然而,铝合金电机的耐久性较差,若长期在高温高湿的环境下使用易产生氧…...
实现 UniApp 右上角按钮“扫一扫”功能实战教学
实现 UniApp 右上角按钮“扫一扫”功能实战教学 需求 点击右上角扫一扫按钮(onNavigationBarButtonTap监听),打开扫一扫页面(uni.scanCode) 扫描后,以网页的形式打开扫描内容(web-view组件),限制只能浏览带有执行域名的网站,例如…...
FP16的表示范围【详解计算步骤】
符号位:1bit 指数位:5bit 尾数位:10bit 指数位 指数位的值:00000 - 11111 00000和11111被给予特殊含义: 00000 表示 011111 表示Nan或无穷大所以,指数位的范围为00001-11110 如果指数位的值为00001,则实际指数=指数位的值-偏移=00001 - 15 = -14 如果指数位的值为1111…...
MySQL UPDATE语句执行链路解析
文章目录 引言1. 总览:UPDATE语句的执行链路2. 客户端发起请求2.1 SQL请求的形成2.2 MySQL通信协议 3. 连接器模块3.1 连接管3.2 会话上下文 4. SQL解析器4.1 语法解析4.2 语法错误处理 5. 查询优化器5.1 查询优化的核心概念5.2 优化器生成执行计划的步骤5.3 优化器…...
大语言模型通用能力排行榜(2024年11月8日更新)
数据来源SuperCLUE 榜单数据为通用能力排行榜 排名 模型名称 机构 总分 理科 文科 Hard 使用方式 发布日期 - o1-preview OpenAI 75.85 86.07 76.6 64.89 API 2024年11月8日 - Claude 3.5 Sonnet(20241022) Anthropic 70.88 82.4…...
java远程服务器调试
1远程debug -agentlib:jdwptransportdt_socket,servery,suspendn,address服务器ip:port 2.jmx JAVA_OPT“${JAVA_OPT} -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.portport -Dcom.sun.management.jmxremote.local.onlyfalse -Dcom.sun.management.jmxr…...
如何使用 Vivado 从源码构建 Infinite-ISP FPGA 项目
如约介绍源码构建 Infinite-ISP 项目,其实大家等的是源码,所以中间过程简洁略过,可以直接翻到文末获取链接。 开源ISP(Infinite-ISP)介绍 构建工程 第一步,从文末或者下面链接获取源码 https://github.com/…...
全志T113双核异构处理器的使用基于Tina Linux5.0——RTOS系统定制开发
8、RTOS系统定制开发 此处以在rtos/components/aw目录下创建一个简单的软件包为例,帮助客户了解RTOS环境,为RTOS系统定制开发提供基础。 RTOS环境下的软件包主要由三部分组成,源文件,Makefile,Kconfig,如下…...
A045-基于spring boot的个人博客系统的设计与实现
🙊作者简介:在校研究生,拥有计算机专业的研究生开发团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹 赠送计算机毕业设计600…...
SpringBoot集成ES(ElasticSearch)
1.导入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId> </dependency>导入依赖后,注意在依赖中查看对应的版本是否与本机ES对应 2.创建配置并…...
使用docker快速部署Nginx、Redis、MySQL、Tomcat以及制作镜像
文章目录 应用快速部署NginxRedisMySQLTomcat 制作镜像镜像原理基于已有容器创建使用 Dockerfile 创建镜像指令说明构建应用创建 Dockerfile 文件创建镜像 应用快速部署 Nginx docker run -d -p 80:80 nginx使用浏览器访问虚拟机地址 Redis docker pull redis docker run --…...
实验四:构建园区网(OSPF 动态路由)
目录 一、实验简介 二、实验目的 三、实验需求 四、实验拓扑 五、实验步骤 1、在 eNSP 中部署网络 2、设计全网 IP 地址 3、配置二层交换机 4、配置路由交换机并测试通信 5、配置路由接口地址 6、配置 OSPF 动态路由,实现全网互通 一、实验简介 使用路由…...
【英特尔IA-32架构软件开发者开发手册第3卷:系统编程指南】2001年版翻译,2-31
文件下载与邀请翻译者 学习英特尔开发手册,最好手里这个手册文件。原版是PDF文件。点击下方链接了解下载方法。 讲解下载英特尔开发手册的文章 翻译英特尔开发手册,会是一件耗时费力的工作。如果有愿意和我一起来做这件事的,那么ÿ…...
debian 如何进入root
debian root默认密码, 在Debian系统中,安装完成后,默认情况下root账户是没有密码的。 你可以通过以下步骤来设置或更改root密码: 1.打开终端。 2.输入 sudo passwd root 命令。 3.当提示输入新的root密码时,输入你想要的密码…...