node.js底层是什么语言

node.js 使用c++开发的。 它是js运行平台(运行环境)。它的语法就是javascript,区别在它是运行在服务器上的。证据 :node的源码在 github网站上 , 项目根目录的src文件夹下很多以 .cc 后缀结尾的文件里有class字眼 ( c++有class而c没有 ) 

node.js底层是什么语言

Node.js不为每个客户连接创建一个新的线程,而仅仅使用一个线程。当有用户连接了,就触发一个内部事件,通过非阻塞I/O、事件驱动机制,让Node.js程序宏观上也是并行的。使用Node.js,一个8GB内存的服务器,可以同时处理超过4万用户的连接。

由于Node.js中采用了非阻塞型I/O机制,因此在执行了访问数据库的代码之后,将立即转而执行其后面的代码,把数据库返回结果的处理代码放在回调函数中,从而提高了程序的执行效率。

当某个I/O执行完毕时,将以事件的形式通知执行I/O操作的线程,线程执行这个事件的回调函数。为了处理异步I/O,线程必须有事件循环,不断的检查有没有未处理的事件,依次予以处理。

在Node中,客户端请求建立连接,提交数据等行为,会触发相应的事件。在Node中,在一个时刻,只能执行一个事件回调函数,但是在执行一个事件回调函数的中途,可以转而处理其他事件(比如,又有新用户连接了),然后返回继续执行原事件的回调函数,这种处理机制,称为“事件环”机制。

Node.js底层是C++(V8也是C++写的)。底层代码中,近半数都用于事件队列、回调函数队列的构建。用事件驱动来完成服务器的任务调度,这是鬼才才能想到的。针尖上的舞蹈,用一个线程,担负起了处理非常多的任务的使命。

Node.js适合用来开发什么样的应用程序呢?

善于I/O,不善于计算。因为Node.js最擅长的就是任务调度,如果你的业务有很多的CPU计算,实际上也相当于这个计算阻塞了这个单线程,就不适合Node开发。

当应用程序需要处理大量并发的I/O,而在向客户端发出响应之前,应用程序内部并不需要进行非常复杂的处理的时候,Node.js非常适合。Node.js也非常适合与web socket配合,开发长连接的实时交互应用程序。

Node.js不是一种独立的语言,与PHP、JSP、Python、Perl、Ruby的“既是语言,也是平台”不同,Node.js的使用JavaScript进行编程,运行在JavaScript引擎上(V8)。

以上就是node.js底层是什么语言的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2594509.html

(0)
上一篇 2025年3月6日 17:34:55
下一篇 2025年3月6日 17:35:02

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Node.js是什么?有什么优势?有什么用途?

    一、Node.js介绍 Node.js是一个javascript运行环境。它让javascript可以开发后端程序,实现几乎其他后端语言实现的所有功能,可以与PHP、Java、Python、.NET、Ruby等后端语言平起平坐。【视频教程推…

    2025年3月6日
    200
  • nodejs与javascript的区别

    nodejs与javascript的区别是:1、原生js运行文件依赖于浏览器;2、nodejs运行文件的时候服务为终端;3、原生js有兼容性问题,而nodejs不存在兼容性问题;4、nodejs可以进行本地的读写,而原生js无法做到。 本文…

    2025年3月6日
    200
  • nodejs是一个服务器吗

    nodejs不是一个服务器,而是一个基于Chrome V8引擎的JavaScript运行环境;nodejs使用了一个事件驱动、非阻塞式I/O模型,让JavaScript运行在服务端的开发平台。 本文操作环境:Windows7系统、nodej…

    2025年3月6日
    200
  • nodejs是什么语言写的

    nodejs是使用C++语言写的。nodejs是用C++开发的一种运行于服务器端的语言,node的底层是C++;且nodejs是一个基于Chrome V8引擎的JavaScript运行环境,而V8是使用C++开发的。 本教程操作环境:win…

    2025年3月6日
    200
  • 什么是nodejs和npm

    nodejs是一个基于Chrome V8引擎的JavaScript运行环境,是一个让JavaScript运行在服务端的开发平台。npm的中文意思为“node包管理器”,是Nodejs默认的、以JavaScript编写的软件包管理系统。 本教…

    2025年3月6日
    200
  • 为啥要装nodejs

    安装原因:1、Nodejs的开发非常高效,而且代码简单;2、Nodejs可进行异步编程,在处理IO密集型应用上有优势;3、项目开发中利用NPM包管理工具可以很方便的安装、共享、分发代码,管理项目依赖关系,而NPM运行在node.js上。 本…

    2025年3月6日
    200
  • ajax和nodejs的区别是什么

    区别:1、Ajax是一种客户端技术,而Node.js是一个JavaScript运行环境,一个开发平台;2、Node不在浏览器中执行,而Ajax在浏览器中执行;3、node主要是提供后台服务,而ajax主要是用来前后台数据的请求与发送数据的。…

    2025年3月6日
    200
  • 写nodejs用什么ide

    写node可用的ide:1、Sublime Text;2、VSCode;3、Cloud 9;4、IntelliJ IDEA;5、Komodo IDE;6、Eclipse;7、WebMatrix;8、Brackets;9、Gitpod等等。 …

    2025年3月6日
    200
  • lua和nodejs的区别是什么

    区别:1、nodejs是一个javascript运行环境,而Lua是一种轻量小巧的脚本语言。2、lua是小巧和高效的,静态连接的包括标准库的lua解释器仅有187K大小;而NodeJS太重量,单是编译出的解释器就有好几M大小。 本教程操作环…

    2025年3月6日
    200
  • node.js是什么?能做些什么?

    Node.js是一个基于Chrome V8引擎的JavaScript运行环境,是让JavaScript运行在服务端的开发平台。Node能做的事:1、开发具有复杂逻辑的网站;2、开发基于社交网络的大规模Web应用;3、开发命令行工具等等。 本…

    2025年3月6日
    200

发表回复

登录后才能评论