这是我参与「第五届青训营 」笔记创作活动的第7天
我将从以下几点去分享对于观看完“Node.js与前端开发实战”相关课程的收获,同时也分享一下自己学习的一些重要的知识点:
- 什么是node.js?
- node.js能够做什么?
- node.js和java的使用场景差异在哪里?
首先,关于什么是node.js,Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型。Node 是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与PHP、Python、Perl、Ruby等服务端语言平起平坐的脚本语言。Node对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好。V8引擎执行Javascript的速度非常快,性能非常好。 Node是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node 使用事件驱动, 非阻塞I/O模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。
其次,node.js能够做什么。使用node.js,我们可以轻松开发你能够轻松地开发:具有复杂逻辑的站点;基于社交网络的大规模 Web 应用;Web Socket server等等。
最后,node.js和java的使用场景差异在哪里。java是编程语言;node.js是js在服务端的运行环境。java的jvm使java可以在任何平台上运行;node.js在不同平台需要不同模块,以至于在不同平台上运行需要重新build。java web服务器是多线程的,每个请求由一个单独的线程来处理,多线程允许在不排队的情况下同时执行多个任务,适合CPU密集型应用。java使用阻塞和非阻塞IO, 阻塞IO意味着第一个IO请求阻塞所有其他请求, java非阻塞IO比node.js复杂;node.js以非阻塞方式处理IO, 适合大量读写的应用。
以上则是我个人的一点学习心得,欢迎各位优秀的开发者批评指正