zxdfe / FE-Interview

Every step counts
34 stars 1 forks source link

第24题:聊一聊浏览器的垃圾回收机制呢? #24

Open zxdfe opened 2 years ago

stevenhuanghr commented 2 years ago

js中的内存是自动分配和回收的,当内存不再使用时,会被js引擎和垃圾回收程序自动回收。垃圾回收的方法有两种,1.引用计数法,它的缺陷是如果内存的技术不为0就无法回收,2.标记清除法,缺点是会导致内存碎片化

shuke-zhang commented 2 years ago

内存碎片化:在标记清除法中,被标记为非活动对象的会被回收。虽然对象被销毁了,但是被回收之后它还是占着空间位置,会导致空闲内存空间是不连续的,出现了 内存碎片! 当出现内存碎片化后,会使用标记整理法来整理内存 ===> 会将被标记的活动对象向着内存的方向移动,最后清理掉边界的内存

rupoly commented 2 years ago

js中的内存分配和回收是自动执行的,当一个内存不再使用时,就会被自动回收,释放内存。 两种垃圾回收方式:

  1. 引用计数法(已淘汰,会造成内存泄露)
  2. 标记清除法(主流,会造成内存碎片化,解决方案:标记整理法)
Moooodena commented 2 years ago

Garbage Collection