在Node.js中,数据何时存储在堆上?

在C中,你明确地要求和pipe理堆上的内存,所以与堆的交互是明确的。 你如何在Node.js中对此进行推理?

子问题:

  • 在哪里/如何存储function?
  • 是否有某些对象/原语总是存储在堆上? (如缓冲区)
  • 数据是从堆栈迁移到堆的吗? 什么时候?

关于这个问题的良好资源的参考也将不胜感激,谢谢。

你不关心堆栈,也不关心释放内存。 它会自动发生,因为Node.js提供了一个精确的跟踪垃圾收集器。 有些数据存储在GC堆中。 有些数据在堆栈上。 通常不能说,因为它取决于JIT编译器在运行时执行的优化。 分析工具可能会提供特定于应用程序的洞察。

至于内存以外的资源(例如文件和套接字), finally使用:

 var file = open(…); try { … } finally { close(file); }