nodejs和JAVA有何不同?
Node.js与Java的关注点划分,那我们就要对两者进行一个比较全面的比较,找出差异,所以要从两者的相同点、差异点来详细阐述:
一、相同点
1、Node.js与Java均是跨平台的语言(注:Node.js本身是一种运行时环境,可以理解为“在服务端运行的JavaScript”,现在开发同学说的Node.js更多的理解为是JS“语言”);
2、两者均可做为后端开发语言(服务端开发语言);
二、差异点
1、Node.js本质上是跑在服务端的JS脚本,它是脚本语言(解释型语言);Java既可以说是编译型语言,也可以说是解释型语言;
2、Node.js因为是解释型语言,所以一些潜在错误在开发时可能不能及时发现;而Java做为编译型语言,很多潜在错误在开发期间就能直观发现;
3、Node.js单线程;Java多线程;
4、开发效率上Node.js较Java开发更快;
三、两者侧重点
1、Node.js
因为开发效率上的优点,它更多的作为“胶水语言”,适合做“前端”,此处前端并不是指HTML+CSS,业内把PHP端也称为前端,此处“前端”指的是展示层。
另外,Node.js毕竟是新秀语言,生态圈较Java要低很多,它不适合大型模目开发(缺乏整体的规范)。
淘宝现在前端以前是PHP,现在基本上都是Node.js了。
2、Java
毫无疑问,做为后端服务开发首选,Java的生态圈非常好,你能想到的功能基本上都有成熟的解决方案。而且在Spring框架的推动下,Java发展也越来越好。一线互联网企业的后端服务(API)大多数都是由Java开发。