- 博客(7)
- 收藏
- 关注
原创 nodejs 如何开启一个进程,进程之间如何通讯
JS 是单线程的,即执行 JS 时启动一个进程(如 JS 引擎,nodejs 等),然后其中再开启一个线程来执行。服务器一般内存比较大,但操作系统对于一个进程的内存分配是有上限的(2G),所以多进程才能充分利用服务器内存。进程,是操作系统进行资源调度和分配的基本单位,每个进程都拥有自己独立的内存区域(参考“堆栈模型”)。一个进程无法直接访问另一个进程的内存数据,除非通过合法的进程通讯。如操作系统是一个工厂,进程就是一个车间,线程就是一个一个的工人。执行一个 nodejs 文件,即开启了一个进程,可以通过。
2023-07-12 15:15:00
210
1
原创 如何检测 JS 内存泄漏?内存泄漏的场景有哪些?
下面的例子,即便界面上删除了 div1 ,但在 JS 内存中它仍然存在,包括它的所有属性。基于上面的问题,现代浏览器使用“标记-清除”算法。定期从根(即全局变量)开始向下查找,能找到的即保留,找不到的即回收。但闭包不是内存泄漏,因为它是符合开发者预期的,即本身就这么设计的。正常情况下,一个函数执行完,其中的变量都会是会 JS 垃圾回收。早起的垃圾回收算法,以“数据是否被引用”来判断要不要回收。但某些情况下,变量是销毁不了的,因为可能会被再次使用。就是一个很典型的闭包,闭包的变量是无法被垃圾回收的。
2023-07-12 09:30:00
160
1
原创 Vue 组件通讯的方式
适用于兄弟组件,或者“距离”较远的组件。常用 API绑定事件或触发事件解绑事件Vue 版本的区别Vue 2.x 可以使用 Vue 实例作为自定义事件Vue 3.x 需要使用第三方的自定义事件,例如 https://www.npmjs.com/package/event-emitter【注意】组件销毁时记得off事件,否则可能会造成内存泄漏。
2023-07-11 22:47:13
30
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人