Java由Sun Microsystem的James Gosling开发,许多Java语言来自C++,它都是基于类的。java以JDK的形式传输,其中包括运行Java程序所需的许多组件。然而,并不是所有的JDK组件都必须运行Java。
Java源代码软件由Java编译器翻译成字节码,然后这个编译的字节码可以在任何安装了JRE(Java运行时环境)兼容的操作系统上执行。
当用Java编写时,源代码可以在任何平台上实现,这是较大的好处之一。只是必须在上安装适当的JRE,可以从Java下载的必备操作系统。编译器将Java源代码转换成字节码,在JRE(Java运行时环境)内创建的JVM(Java虚拟机)将字节码转换成机器码。
Node.js不是一种编程语言,而是一种支持JavaScript服务器端执行的运行时。目前,几乎和Java一样古老的JavaScript是一种解释语言,在Node.js出现之前,它已经在客户端使用了很长时间。

在Node JS中,开发人员可以监听和响应HTTP请求,服务器监听网络流量,同时直接从服务器访问数据库。Node JS使用基于事件的模型来解决可伸缩性问题,允许JavaScript模块使用丰富的JavaScript库来简化编码过程。
有很多基于节点JS的框架,比如Express JS、Partial JS等等。在构建、可伸缩的服务器端应用程序方面,Node JS是一个明显的赢家。
什么时候选择Java?
Java可以获得处理器密集型或处理器相关的应用程序。这同样适用于具有大量代码库的应用程序——因为Java提供了强类型的源代码,所以在维护期间更容易重构和修复错误。如果你的应用程序使用RDBMS(关系数据库管理系统),Java将是一个极好的选择——它包括多数据库工具。
何时选择Node.js
Node.js非常适合web应用程序、智能手机、实时应用程序(即时消息、实时聊天)、在线游戏手机、电子商务购物工具等等。如果你正在使用微服务架构,它可以为系统奠定基础,这也是一个不错的选择——记住,像网飞或优步这样的应用程序是使用Node.js设计的。