在Node.js中,数据何时存储在堆上?
在C中,你明确地要求和pipe理堆上的内存,所以与堆的交互是明确的。 你如何在Node.js中对此进行推理?
子问题:
- 在哪里/如何存储function?
- 是否有某些对象/原语总是存储在堆上? (如缓冲区)
- 数据是从堆栈迁移到堆的吗? 什么时候?
关于这个问题的良好资源的参考也将不胜感激,谢谢。
你不关心堆栈,也不关心释放内存。 它会自动发生,因为Node.js提供了一个精确的跟踪垃圾收集器。 有些数据存储在GC堆中。 有些数据在堆栈上。 通常不能说,因为它取决于JIT编译器在运行时执行的优化。 分析工具可能会提供特定于应用程序的洞察。
至于内存以外的资源(例如文件和套接字), finally
使用:
var file = open(…); try { … } finally { close(file); }