计算机基础
文章平均质量分 89
LYFlied
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Babel 打包原理详解:从编译原理视角分析
Babel 是一个 JavaScript 编译器,实现了完整的编译流程:词法分析(@babel/parser 生成 Tokens)、语法分析(生成 AST)、转换(@babel/traverse 修改 AST)和代码生成(@babel/generator)。其核心基于访问者模式实现深度优先遍历,通过插件系统支持语法转换和优化,如常量折叠、作用域分析等。Babel 将现代 JavaScript 代码转换为向后兼容的语法,同时提供丰富的插件和预设(如 @babel/preset-env)来支持各种编译需求。完整原创 2025-12-09 11:26:57 · 792 阅读 · 0 评论 -
前端开发者需要掌握的编译原理相关知识及优化点
本文介绍了前端开发者需要掌握的编译原理核心知识,包括词法分析、语法分析、语义分析等阶段及其在前端工具中的应用。重点阐述了如何利用这些知识优化代码性能,如通过树摇减小包体积、代码分割提升加载速度、引擎优化提高执行效率等。文章还提供了构建流程优化建议,帮助开发者更好地理解现代前端工具链的工作原理,从而编写更高效的代码并改善开发体验。掌握这些编译原理概念能够显著提升前端应用的性能和开发效率。原创 2025-12-08 23:52:32 · 589 阅读 · 0 评论 -
计算机基础-死锁(概念、产生条件、解决方案)
当线程A持有独占锁a,并尝试去获取独占锁b的同时,线程B持有独占锁b,并尝试获取独占锁a的情况下,就会发生AB两个线程由于互相持有对方需要的锁,而发生的阻塞现象,我们称为死锁。 造成死锁必须达成的4个条件 互斥条件:一个资源每次只能被一个线程使用。 请求与保持条件:一个线程因请求资源而阻塞时,对已获得的资源保持不放。 不剥夺条件:线程已获得的资源,在未使用完之前,不能强行剥夺。 循环等待条件:若干线程之间形成一种头尾相接的循环等待资源关系。 - 死锁防止 - 死锁避免 -死锁检测和恢复原创 2021-04-08 21:40:13 · 2207 阅读 · 26 评论 -
计算机基础-进程与线程的区别与联系(附面试题)
线程之间的是怎么进行交互的 进程之间又是怎样进行交互 多线程、多进程应用场景 进程要分配一大部分的内存,而线程只需要分配一部分栈就可以了. 一个程序至少有一个进程,一个进程至少有一个线程. 进程是资源分配的最小单位,线程是程序执行的最小单位。 一个线程可以创建和撤销另一个线程,同一个进程中的多个线程之间可以并发执行. 线程执行开销小,但不利于资源的管理和保护;而进程正相反。同时,线程适合于在SMP机器上运行,而进程则可以跨机器迁移。 线程才是真正去运行的,而进程呢,则是像容器原创 2021-04-08 21:09:27 · 711 阅读 · 14 评论
分享