软件应用程序运行在计算机的主内存中,我们称之为随机存取存储器(RAM)。JavaScript,尤其是NodeJS(服务器端JS)允许我们为最终用户编写从小到大的软件项目。处理程序内存始终是一个棘手的问题,因为糟糕的实现可能会阻止在给定服务器或系统上运行的所有其他应用程序。C和C++程序员确实关心内存管理,因为代码的每个角落都可能潜伏着可怕的内存泄漏。但是对于JS开发者来说,你真的关心过这个问题吗?由于JS开发人员通常在专用的大容量服务器上进行Web服务器编程,因此他们可能不会意识到多任务延迟。比方说在开发Web服务器的情况下,我们还根据需要运行多个应用程序,例如数据库服务器(MySQL)、缓存服务器(Redis)等。我们需要注意它们也会消耗可用的主内存。如果我们随意编写应用程序,很可能会降低其他进程的性能,甚至完全拒绝为它们分配内存。在本文中,我们解决了一个问题,以了解NodeJS结构,如流、缓冲区和管道,以及它们如何支持编写内存高效的应用程序。我们使用NodeJSv8.12.0来运行这些程序,所有代码示例都在这里:narenaryan/node-backpressure-internals
