File tree Expand file tree Collapse file tree 1 file changed +6
-4
lines changed Expand file tree Collapse file tree 1 file changed +6
-4
lines changed Original file line number Diff line number Diff line change 22editLink : false
33---
44
5+
56# 编译器(Compiler)和 解释器(Interpreter)
67
78编译型语言在程序执行之前,需要经过编译器的编译过程,并且编译之后会直接保留机器能读懂的二进制文件,这样每次运行程序时,都可以直接运行该二进制文件,而不需要再次重新编译 c c++ Go等
@@ -10,8 +11,6 @@ editLink: false
1011
1112![ 1720001190604] ( images/v8WorkingPrinciple/1720001190604.png )
1213
13- ** 暂时无法在飞书文档外展示此内容**
14-
15141 . 在编译型语言的编译过程中,编译器首先会依次对源代码进行词法分析、语法分析、生成抽象语法树、优化代码、最后生成处理器可执行的机器码。编译成功会生成一个可执行的文件。后续运行这个可执行的文件即可。
16152 . 在解释型语言的解释过程中,解释器会对源码依次进行词法分析、语法分析、生成抽象树,基于抽象树生成字节码,根据字节码执行程序,输出结果。
1716
@@ -95,7 +94,7 @@ ESLint是一个用来检查javascript编写规范的插件,其检测流程也
9594
9695回调函数没有在主函数内被调用——异步函数
9796
98- 系统调用栈的信息可以通过:chrom ://tracing/来抓取
97+ 系统调用栈的信息可以通过:chrome ://tracing/来抓取
9998
10099# 宏任务 微任务
101100-宏任务:
@@ -257,14 +256,16 @@ console.log(3)
257256
258257## 白屏优化(资源获取到后,渲染进程创建一个空白页面,解析白屏)
259258主要有:
260- - 解析HTMl
259+ - 解析HTML
261260- 下载CSS
262261- 下载Javascript
263262- 生成CSSOM
264263- 执行Javascript
265264- 生成布局树
266265- 绘制页面
266+
267267** 主要体现在下载CSS文件、下载Javascript文件和执行Javascript**
268+
268269解决方法:
269270- 通过内联Javascript、内联CSS来移除这两种类型的文件下载,这样获取到HTML文件之后就可以直接开始渲染流程
270271- 可以尽量减少文件的大小。通过webpack等工具移除一些不必要的注释,压缩Javascript文件
@@ -353,6 +354,7 @@ XSS主要有三种方式
353354## CSRF攻击
354355Cross-site request forgery 跨站请求伪造
355356CSRF攻击就是黑客利用了用户的登录状态,并通过第三方的站点来做一些事情
357+
356358csrf与xss的不同,csrf攻击不需要将恶意代码注入用户页面,仅仅是利用服务器漏洞和用户的登录状态来实施攻击
357359
358360### csrf攻击的三个必要条件:
You can’t perform that action at this time.
0 commit comments