`
tenght
  • 浏览: 50389 次
社区版块
存档分类
最新评论

试读《深入浅出Node.js》

 
阅读更多

       《深入浅出Node.js》,这是一本兼顾了理论和实践的好书,除了针对node.js本身,对周边一些你需要了解的相关技术和专业知识,也都有恰到好处的说明,目前国内大家多数还是把Node.js当做工具来使用,真正用Node.js开发企业产品的还比较少, 而这本书就是引导你如何开发企业级的Node.js应用。

       试读样章只有第一章和第五章,第一章对于Node.js做了一个全面细致的介绍,包括Node.js的诞生发展历程,Node的命名与起源,Node 给 JavaScript 带来的意义,Node 的特点,Node 的应用场景以及 Node 的使用者。文中,图文并茂,刨根挖底,将Node.js基本理论知识及特点的方方面面呈现给了我们。

      第五章讲的是内存控制。文中指出,随着Node的发展,JavaScript已经实现了CommonJS的生态圈大一统的梦想,JavaScript的应用场景早已不再局限在浏览器中,Node在服务器端的广泛应用,也使得其他语言里存在着的问题在JavaScript中也暴露出来了,在海量请求的前提下,开发者就需要考虑一些平常不会形成影响的问题,内存控制正是在海量请求和长时间运行的前提下进行探讨的,作者在本章中介绍了在Node中如何合理高效地使用内存包括:

  1. V8 的垃圾回收机制与内存限制——当主流应用场景从客户端延伸到服务器端之后,对于性能敏感的服务器端程序,内存管理的好坏、垃圾回收状况是否优良,都会对服务构成影响。
  2. 高效的使用内存——在正常的JavaScript执行中,无法立即回收的内存有闭包和全局变量引用这两种情况。由于V8的内存限制,要十分小心此类变量是否无限制地增加,因为它会导致老生代中的对象增多。
  3. 内存指标——Node的内存构成主要由通过V8进行分配的部分和Node自行分配的部分。
  4. 内存泄露——Node对内存泄漏十分敏感,一旦线上应用有成千上万的流量,那怕是一个字节的内存泄漏也会造成堆积,垃圾回收过程中将会耗费更多时间进行对象扫描,应用响应缓慢,直到进程内存溢出,应用崩溃。
  5. 内存泄漏排查——排查内存泄漏的原因主要通过对堆内存进行分析而找到。
  6. 大内存应用——如果不需要进行字符串层面的操作,则不需要借助V8来处理,可以尝试进行纯粹的Buffer操作,这不会受到V8堆内存的限制。

      Node将JavaScript的主要应用场景扩展到了服务器端,相应要考虑的细节也与浏览器端不同,需要更严谨地为每一份资源作出安排。

      期待更多的Node.js内容呈现,本书值得一读。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics